-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Improved build documentation when building dependencies #47631
Comments
The minimum gcc is better autodetected on newer versions of julia already. But we are not going to backport it to all versions. A more reliable solution can be to set The |
Thanks, @vtjnash for your quick reply!
Sorry, are you talking about maximum gcc version? That's the issue I was referring to. And I understand if you don't want to backport to all versions. But 1.8.3 was just released last week, right?
Yes, all the issues I'm describing above are when
I actually don't think you need to regularize all the flags (unless they start clashing). Rather, just adding a few hints about this in the docs would be useful. Or even something like "be warned, each dependency may require careful consideration when setting the appropriate compiler flags". It's a little odd that the docs spend significant time describing how to add the binary to the |
yeah, I was thinking of the minimum for the maximum, so really just the maximum. I tagged that PR for backport, so we will see how that goes (I was mixing this up with #47629, which I was attempting to answer at the same time–about v1.3 rather than v1.8.3) That would probably be a good note for the |
Sure, I'd be happy to 😀 |
I've been working on building Julia (release 1.8.2) on some rather complicated internal infrastructure. Throughout my journey (discussed a bit in this discourse thread), I've realized there are some important details missing in the build documentation that would probably help others. For example...
patchelf
effectively clobbers the user-specifiedLDFLAGS
, and instead usesCXXLDFLAGS
:julia/deps/patchelf.mk
Line 23 in d12ac36
gmp
, effectively ignoreLDFLAGS
altogether, and instead expect the user to pass important parameters, like runtime paths, to theCFLAGS
andCXXFLAGS
(as discussed here).libstdc++
loading problem (discussed here). While there was a recent fix intended to help mitigate this issue (Probe and dlopen() the correct libstdc++ #46976) it's not clear to what extent it does. Furthermore, it appears that PR wasn't percolated to the recent 1.8.3 release, or even the 1.9-alpha release. While a minimumgcc
version is documented, there is no maximum version documented for any of the releases.I'm still trying to work through issue 3 myself. When I build LLVM, it uses my compiler's
libstdc++
. When the build script moves to building Julia (and loads some LLVM libraries), the linker references Julia'slibstdc++
rather than the version LLVM was built with. I'm assuming this is only a problem because my compiler's version is newer (a recently patched version of gcc11.2) but I'm still working through this...I'm happy to add a PR that describes these details more thoroughly, but I want to make sure I'm not missing something obvious first.
Thanks!
The text was updated successfully, but these errors were encountered: