-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Distributed libLLVM conflicts with system libraries #55737
Comments
This should be fixed by #59173. |
#59173 fixed this on Linux, thanks! The issue still persists on OS X because the filename is always |
This is not just a redistribution problem, but also leads to a general FTBFS while bootstrapping with clang compilers since rust 1.34.0. 1.34.0 now seems to put 1.33.0 and prior didn't do this. They only created a |
I'm stupid - rust isn't compiling its own version of The problem is that the precompiled 1.33 binaries that are used to bootstrap rust contain a |
@Ionic The problem is most likely the same in as in cargo, people assume Sent with GitHawk |
Now that
libLLVM.so
is distributed with rust, we are unable to dynamically link a rust binary against a differentlibLLVM.so
library. The rustlib directory containinglibLLVM
is prepended to the linker search path, and I don't see a good way to ask cargo to add a search path earlier than the rustlib is added. It looks to me like the rustlib directory is added here:rust/src/librustc_codegen_llvm/back/link.rs
Line 1044 in 15d7704
I noticed that support for appending a suffix to the LLVM libs was added in #53987. Can we turn that on for CI so the prebuilt distributions have a suffix on the library?
Unfortunately, the suffix won't actually fix this issue on MacOS, since the LLVM build does not append the suffix (or any version info) to the name of the dynamic library when building on MacOS: (see https://github.com/rust-lang/llvm/blob/7051ead40a5f825878b59bf08d4e768be9e99a4a/cmake/modules/AddLLVM.cmake#L520)
The text was updated successfully, but these errors were encountered: