-
Notifications
You must be signed in to change notification settings - Fork 560
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
[libflame] Initial build scripts. #8671
base: master
Are you sure you want to change the base?
Conversation
Why is it split into a build_tarballs and a common? This looks simple enough we should just keep it all in a single build_tarballs to make updating the recipe simple. |
Yes, that also occurred to me after the initial commit. Will reduce to a single build_tarball |
So clearly
|
Note: now that it's working on |
I see that it is currently building the static library. In general, we do like to avoid having those in the main JLLs because they can really eat up space (the artifact here shows it is 15MB on Linux). Can we disable the static library build? Also, are we sure the aarch64 macos build is working properly? I downloaded the artifact to check, and the dylib it makes is extremely tiny compared to the static library (and also compared to the size it is on Linux):
Can someone on macos confirm what is in this dylib? |
|
|
||
# Build the tarballs | ||
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; | ||
preferred_gcc_version=v"11", lock_microarchitecture=false, julia_compat="1.6") |
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.
preferred_gcc_version=v"11", lock_microarchitecture=false, julia_compat="1.6") | |
preferred_gcc_version=v"11", clang_use_lld=false, lock_microarchitecture=false, julia_compat="1.6") |
Lets try not using LLD and instead using the other linker to see if these flags work then.
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.
Mixed up the gcc ld -whole-archive
vs. clang lld -force_load
but didn't seem to like it anyway. Might need to try your approach.
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.
Mixed up the gcc ld
-whole-archive
vs. clang lld-force_load
- this isn't gcc vs clang, but Linux vs macOS
- this is why we provide the
flagon
utility.
@imciner2 I think I've done as much as I can here with what I know. What do you think should be next steps? |
I don't know how to get the mac build to use the static library to compile the shared library. The best fix would be to have it just compile the shared library using each individual object file again, since then the linker won't remove anything, however I see that upstream says there is a command-line length issue when doing that - hence this solution. |
Since the build is all green, is it ok to merge, or is mac still broken? |
The macOS dylib is still tiny compared to the static library - 17.2kB vs. 7.9MB, so I think it is still broken. |
I think we should try to port over how BLIS does it, since the make script is a downstream improvement on libflame. |
Build scripts for libflame
Addresses #7660
Currently MacOS is omitted until linking errors can be resolved cf. flame/libflame#100