-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
openssl: ensure install_name_tool works on MacOS #5308 #9540
Conversation
Not sure that it's the responsability of conan-center recipe to ckech that. |
The issue I reported (#5308) makes the conan-center-index recipe unusable for my workplace. In ccdc-opensource/conan-openssl, you can see the workaround I used:
I want to upstream the change but it doesn't make much sense on its own if it can't be tested. So I've pushed a test first to see if it fails. If it does, I plan on pushing the change above that fixes the test, otherwise I'll keep the workaround recipe in the company org. We can also have a wider discussion in a separate conan issue: should all dylibs built by conan recipes be checked in the same way? Not being able to change rpaths is a rather limiting defect, it means I can't distribute conan-built libraries that exhibit this behaviour and must rely on DYLD_LIBRARY_PATH. A really bad idea on modern macos systems. |
This comment has been minimized.
This comment has been minimized.
What don't you add |
closes conan-io#5308 This makes it possible to change rpaths of the generated libraries
I hope you'll excuse me for desiring a more authoritative answer than that :) The way I see this is that I've found a shortcoming with the product of a recipe, provided a test case that is failing and now adding a patch to hopefully fix the problem. Unless a conan developer steps in and declares/documents the products of conan-center-index as not fit for reuse, I don't see why making them usable for what I consider a valid case is 'not the task of conan-center'. By adding the test before the fix, I'm trying to make sure the issue exists in the recipe and not in my infrastructure/builds and reduce the administrative burden for the conan team and volunteers as much as possible. If there's an alternate take on what conan and conan-center is, I'd like to know about it because I've invested a lot of time in and with it already! |
For sure, this flag is important to be able to set custom RPATH afterwards if you want to relocate shared libs outside of conan tree. But if this flag is added to openssl recipe, it should be added to all recipes, so it would place a huge burden on conan-center. |
I totally understand the will to have consistency and the dread at the thought of checking all packages in conan-center index! 🤯 However, openssl is the only inconsistent one for me! It is the only recipe where setting a custom rpath afterwards fails for me out of about 70-ish packages we use. I think this is caused by some little difference in the openssl build system. Hence why I'm purposefully proposing a recipe change and not a generic solution. Sometimes a local change can help create consistency! |
This comment has been minimized.
This comment has been minimized.
A look at the logs shows that this breaks cross-compilation. The build is trying to create test executables in x86_64 mode |
Failure in build 3 (
Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability. |
It seems that boost also suffers of this issue in shared libs on macOS: #13892. Actually I think that most conan-center recipes are OK (those relying on CMake, Meson & Autotools?), but there are few ones with more exotic build systems where this flag should indeed be injected. |
Specify library name and version: openssl/1.1.1k
Adds a test to validate that users can effectively run install_name_tool on the generated library when shared=True on MacOS
conan-center hook activated.