-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
can't bootstrap compiler from the rust-src component because of file permissions #36488
Comments
You can't compile std with jemalloc enabled from the rust-src component either. The build fails with the same error message I posted above. |
Could be related to #25479. rustup has code to explicitly fix permissions in the 'bin' directory, maybe others. Probably best though to figure out how to make this tarball carry the right permissions with it. |
@alexcrichton @brson Is this now easier to fix now that we are using Travis for testing/packaging? (This is blocking Xargo from being able to (cross) compile |
Source tarballs are created from rustbuild now, but we're not using Travis for packaging. I don't think this bug fix should be any easier than before, though. |
This is going to involve hacking on both rustbuild and rustup. Ideally rustbuild will produce tarballs with the correct permissions and rustup will use those permissions when extracting the tarball. |
See rust-lang#36963 for rationale closes rust-lang#36963 fixes rust-lang#36488 (indirectly) closes rust-lang#37975
Couldn't the |
I suspect if we used 3be02fc on Linux, that would also preserve permissions. (Will test soon.) @alexcrichton you went from hard-links to copies because of trouble on Windows. Would it be possible to still use hard-links on non-Windows platforms? |
Never mind, the permission copying seems to actually work. The tarball does contain the right permissions when I create it locally. If this is still a problem (which we can only really test once #41952 is fixed), the bug is somewhere in rustup. |
The tarball available at https://static.rust-lang.org/dist/rust-src-nightly.tar.xz has the right permissions (and same for the .gz). When I run |
set_file_perms: if the file is already executable, keep it executable This was the smallest change I could come up with to fix <rust-lang/rust#36488>: Maintain the X bit when fixing up permissions. However, the code is still somewhat inconsistent in that it does apply different rules when applied to a file vs. when applied to a directory -- the code recursively walking the directory still removes the X bits from all files, just like it previously ignored the "bin" directory. If you want, I can refactor this some more to be consistent here. Fixes: #1140
The |
All the files, even the scripts (*.sh), have their permissions set to 644.
Bootstrapping fails while executing alloc_jemalloc build script with the following error message:
cc @brson @Diggsey
Meta
The text was updated successfully, but these errors were encountered: