-
-
Notifications
You must be signed in to change notification settings - Fork 38
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 install name in OSX #32
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
run:
- openblas >=0.2.15 If this is true we can still build with (Just asking. I am +1 to build everything We also need finish the pin |
# Needs to fix the install name of the dylib so that the downstream projects will link | ||
# to libopenblas.dylib instead of libopenblasp-r0.2.20.dylib | ||
# In linux, SONAME is libopenblas.so.0 instead of libopenblasp-r0.2.20.so, so no change needed | ||
install_name_tool -id ${PREFIX}/lib/libopenblas.dylib ${PREFIX}/lib/libopenblas.dylib; |
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.
@mingwandroid I would like to know your opinion here.
Sounds perfectly reasonable. All downstreams will need to be rebuilt though to gain the benefit. |
Awesome! Thanks for the feedback and thanks @isuruf for the nice insight.
We'll pin to the latest version and I'll remove the previous pin number so
everything uses this one from now on.
…On Jul 26, 2017 6:36 AM, "Ray Donnelly" ***@***.***> wrote:
Sounds perfectly reasonable. All downstreams will need to be rebuilt
though to gain the benefit.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#32 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AA6BL5AtmoghQ3IoPxJPMclzo4aO-DNjks5sRwicgaJpZM4OjWcl>
.
|
Thanks for merging.
Yes, but it'll be hard to keep track of which build number of openblas it was built against, so a new version (0.2.20) is better. |
Agreed. But then the pinning should be: requirements:
build:
- openblas 0.2.20
run:
- openblas >=0.2.20 to be on the safe side, right? |
Advantage of |
I am under the impression that the soname will be would be an issue with the |
soname is |
Got it ! Thanks for the explanation @isuruf. I'll start using that pinning scheme. (Although we need to improve the pinning script to do the same.) |
Isn't |
@jakirkham, what I was saying was if you have A compiled with 0.2.19 and B compiled with 0.2.20 you can have A and B with 0.2.19 at runtime. |
@ocefpaf, you were right. Pinning should be following because abi-laboratory reports don't show the symbols created when compiling with requirements:
build:
- openblas 0.2.20
run:
- openblas >=0.2.20 |
Cool. I'll update the PRs. Thanks @isuruf! (But only numpy is using that now. We need to fix the SciPy issue first.) |
@isuruf Does this affect the rpath ? I'm investigating why delocate is not finding openblas dependencies on osx. |
Fixes the install name of the dylib so that the downstream projects will link to libopenblas.dylib instead of libopenblasp-r0.2.20.dylib
In Linux, SONAME is libopenblas.so.0 instead of libopenblasp-r0.2.20.so, so no change needed.
This change means the pinning doesn't have to be restrictive as before (conda-forge/conda-forge.github.io#418) and can be as below
One other advantage is that this achieves compatibility with the defaults openblas and therefore a package compiled with conda-forge openblas can use the defaults' openblas at runtime.
cc @ocefpaf