-
Notifications
You must be signed in to change notification settings - Fork 14
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 static linking on Mac #16
Conversation
|
||
.PHONY: build-tfhe-rs-capi | ||
build-tfhe-rs-capi: | ||
cd tfhe-rs && make build_c_api_experimental_deterministic_fft | ||
cd tfhe-rs && make build_c_api_experimental_deterministic_fft \ | ||
&& cd target/release && rm -f *.dylib *.dll *.so |
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.
Why do we need to rm
here?
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.
Sorry, I saw the description. Wouldn't it work even if we don't remove?
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.
By default linker prefers dynamic libraries if they are available, now we specify tfhe lib with -ltfhe
flag, which doesn't imply if it is static or dynamic, so if we remove dynamic libraries, linker is forced to link statically
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.
It would work, but then on macbook it links dynamically, I tried -l:libtfhe.a flag but it doesn't work
-framework Security
flag was missing, when building subnet-evm this flag seems to be added automatically as build works.We remove all dynamic library builds to make sure only static library is linked by the next build step.