-
-
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
[build] Install mingw32 *.a
files in private_libdir
#51698
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is too late to move them, as the damage is already been done on the compiler side. After this step the compiler is no longer involved anyways
Why not install them in libexec? Only lld uses them anyway? |
I updated CSL to v1.1.0 from JuliaPackaging/Yggdrasil#7535 which changes the tree structure of the |
With this PR, I don't get undefined references to Compilation still fails when using GCC 13, but that's probably unrelated (and compiling with the mingw
|
I don't know why build in CI is failing with
during precompilation of stdlibs: are the files not moved to |
The stack_chk_guard variable should be from libjulia-internal (rtutils.c), so maybe check why that is missing the export for it? We might be accidentally filtering it out. Most compiler builds also have |
And FWIW, these libraries are needed. If I remove them from
... and a bunch of others as well. |
Needed for what? Only linking pkgimages, no? We didn't have them before pkgimages, and everybody was happy. |
Yes. I've updated my comment above. |
If only building compiler-rt builtins wasn't the hardest thing in the world. I have no clue how zig got it working and I'm slightly scared to find out |
|
Cool, so these lines Lines 296 to 301 in 4ff66ed
|
AFAICT those are in the |
@vtjnash can you suggest any other rule where we can do the move? Otherwise we never get the files where we need them. |
We can move them during the deps part? |
Yeah that seems to work. I did a quick test with: diff --git a/deps/csl.mk b/deps/csl.mk
index 37956ba5c3..81c88e0da7 100644
--- a/deps/csl.mk
+++ b/deps/csl.mk
@@ -104,4 +104,10 @@ distclean-csl: clean-csl
else
$(eval $(call bb-install,csl,CSL,true))
+install-csl:
+ mkdir -p $(build_private_libdir)/
+ cp -a $(build_libdir)/gcc/$(BB_TRIPLET)/13/libgcc_s.a $(build_private_libdir)/
+ cp -a $(build_libdir)/gcc/$(BB_TRIPLET)/13/libgcc.a $(build_private_libdir)/
+ cp -a $(build_libdir)/gcc/$(BB_TRIPLET)/13/libmsvcrt.a $(build_private_libdir)/
+ cp -a $(build_libdir)/gcc/$(BB_TRIPLET)/13/libssp.dll.a $(build_private_libdir)/
endif |
You will muck up the |
d7775e6
to
fdf084e
Compare
@giordano Is there a reason you didn't put those files in the correct spot already for the JLL? |
What's a correct spot? Point is, they have to be in a place which isn't picked up by the linker during Julia's own build process, but can be used by pkgimages linker (but we have some more control for this). I'm not aware of any directory which would magically work this way. |
3d7bce2
to
476262c
Compare
This avoid that these files are picked up during julia's build process, and are instead only used to link pkgimages, as intended.
This release * upgrades GCC libraries to GCC 13 * has a new tree structure for GCC `*.a` libraries for Windows
Co-authored-by: Tim Besard <tim.besard@gmail.com>
476262c
to
d2fe83b
Compare
This avoid that these files are picked up during julia's build process, and are instead only used to link pkgimages, as intended. Co-authored-by: Tim Besard <tim.besard@gmail.com> (cherry picked from commit 4ef353c)
This avoid that these files are picked up during julia's build process, and are instead only used to link pkgimages, as intended. Co-authored-by: Tim Besard <tim.besard@gmail.com> (cherry picked from commit 4ef353c)
This avoid that these files are picked up during julia's build process, and are instead only used to link pkgimages, as intended.
I can't test this PR myself, so someone else would have to tell me if it works to make building julia work again.
Do I understand correctly this would address #48081? Edit: yes, according to #51698 (comment) this PR fixes #48081.