-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Fix wrong directories in host_libdir. #7798
Conversation
This fixes a regression from rust-lang#7475 where the sysroot_target_libdir leaks into the host libdir. This can cause problems when the dynamic linker does not ignore the target libraries but tries to load them instead. This happens for example when building on x86_64-musl for aarch64-musl.
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Eh2406 (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
Hi! Thanks for the PR! I'm a bit confused because I expect |
Sure. Here is what I try to do: To cross compile a hello world on a x86_64-musl host system for aarch64-musl, I run the folowing commands.
This used to work, but since #7482, rustc (called by cargo) fails to run, the dynamic linker shows this error message:
Setting a break point in
So the actual problems is either me using |
Ah, I see, using This change seems fine to me. I'm wondering if a test might be possible, but it seems difficult. I'll leave final review to @alexcrichton who wrote this. |
@bors: r+ |
📌 Commit f917e16 has been approved by |
Fix wrong directories in host_libdir. This fixes a regression from #7482 where the sysroot_target_libdir leaks into the host libdir. This can cause problems when the dynamic linker does not ignore the target libraries but tries to load them instead. This happens for example when building on x86_64-musl for aarch64-musl.
☀️ Test successful - checks-azure |
…chton Update cargo, books ## cargo 9 commits in ad3dbe10e1e654fb1f032a5dd9481d7cbaa00d65..f6449ba236db31995255ac5e4cad4ab88296a7c6 2020-01-13 21:37:15 +0000 to 2020-01-21 16:15:39 +0000 - Fix wrong directories in host_libdir. (rust-lang/cargo#7798) - Update humantime requirement from 1.2.0 to 2.0.0 (rust-lang/cargo#7815) - Fix doc_target test which no longer works on stable/beta. (rust-lang/cargo#7817) - Fix some erroneous em-dashes in man pages. (rust-lang/cargo#7814) - fix some clippy warnings (rust-lang/cargo#7808) - Don't assume iowait always increases on Linux (rust-lang/cargo#7803) - Add and update some doc comments. (rust-lang/cargo#7800) - Consistently use em-dash in environment documentation page. (rust-lang/cargo#7799) - Load credentials only when needed (rust-lang/cargo#7774) ## reference 3 commits in e115753..11e893f 2019-12-22 13:13:14 +0100 to 2020-01-18 21:24:08 +0100 - Small improvements to types/pointer.md (rust-lang/reference#726) - repr(transparent): mention align=1 requirement (rust-lang/reference#737) - Elaborate on how to use an extern static correctly (rust-lang/reference#736) ## book 4 commits in 5c5cfd2e94cd42632798d9bd3d1116133e128ac9..87dd6843678575f8dda962f239d14ef4be14b352 2019-12-16 09:27:21 -0600 to 2020-01-20 15:20:40 -0500 - Fix listing numbers (rust-lang/book#2227) - Move `async` and `await` keywords to 'Currently in Use' (rust-lang/book#2140) - More cleanup - remove unneeded files (rust-lang/book#2213) - Small cleanups extracted from the bigger pr i'm working on (rust-lang/book#2212) ## rust-by-example 1 commits in 1d59403cb5269c190cc52a95584ecc280345495a..1c2bd024d13f8011307e13386cf1fea2180352b5 2019-12-27 08:27:05 -0300 to 2020-01-20 12:18:36 -0300 - CamelCase -> UpperCamelCase (rust-lang/rust-by-example#1302) ## embedded-book 1 commits in 9493b7d4dc97eda439bd8780f05ad7b234cd1cd7..4d78994915af1bde9a95c04a8c27d8dca066232a 2019-12-27 20:05:00 +0000 to 2020-01-14 08:25:25 +0000 - Update .gitattributes (rust-embedded/book#221)
…chton Update cargo, books ## cargo 9 commits in ad3dbe10e1e654fb1f032a5dd9481d7cbaa00d65..f6449ba236db31995255ac5e4cad4ab88296a7c6 2020-01-13 21:37:15 +0000 to 2020-01-21 16:15:39 +0000 - Fix wrong directories in host_libdir. (rust-lang/cargo#7798) - Update humantime requirement from 1.2.0 to 2.0.0 (rust-lang/cargo#7815) - Fix doc_target test which no longer works on stable/beta. (rust-lang/cargo#7817) - Fix some erroneous em-dashes in man pages. (rust-lang/cargo#7814) - fix some clippy warnings (rust-lang/cargo#7808) - Don't assume iowait always increases on Linux (rust-lang/cargo#7803) - Add and update some doc comments. (rust-lang/cargo#7800) - Consistently use em-dash in environment documentation page. (rust-lang/cargo#7799) - Load credentials only when needed (rust-lang/cargo#7774) ## reference 3 commits in e115753..11e893f 2019-12-22 13:13:14 +0100 to 2020-01-18 21:24:08 +0100 - Small improvements to types/pointer.md (rust-lang/reference#726) - repr(transparent): mention align=1 requirement (rust-lang/reference#737) - Elaborate on how to use an extern static correctly (rust-lang/reference#736) ## book 4 commits in 5c5cfd2e94cd42632798d9bd3d1116133e128ac9..87dd6843678575f8dda962f239d14ef4be14b352 2019-12-16 09:27:21 -0600 to 2020-01-20 15:20:40 -0500 - Fix listing numbers (rust-lang/book#2227) - Move `async` and `await` keywords to 'Currently in Use' (rust-lang/book#2140) - More cleanup - remove unneeded files (rust-lang/book#2213) - Small cleanups extracted from the bigger pr i'm working on (rust-lang/book#2212) ## rust-by-example 1 commits in 1d59403cb5269c190cc52a95584ecc280345495a..1c2bd024d13f8011307e13386cf1fea2180352b5 2019-12-27 08:27:05 -0300 to 2020-01-20 12:18:36 -0300 - CamelCase -> UpperCamelCase (rust-lang/rust-by-example#1302) ## embedded-book 1 commits in 9493b7d4dc97eda439bd8780f05ad7b234cd1cd7..4d78994915af1bde9a95c04a8c27d8dca066232a 2019-12-27 20:05:00 +0000 to 2020-01-14 08:25:25 +0000 - Update .gitattributes (rust-embedded/book#221)
This fixes a regression from #7482 where the sysroot_target_libdir leaks into the host libdir. This can cause problems when the dynamic linker does not ignore the target libraries but tries to load them instead. This happens for example when building on x86_64-musl for aarch64-musl.