-
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
boost: Add -headerpad_max_install_names link flag on Apple platforms #13892
Conversation
Add -headerpad_max_install_names linker flag for boost building on Apple platforms. This change reflects what is done on CMake based builds by default and allows proper library modification for relative load paths after the build.
I detected other pull requests that are modifying boost/all recipe:
This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there. |
Conan v1 pipelineSorry, the build is only launched for Access Request users. You can request access writing in this issue. |
🙈 this looks innocent but I have no clue I am asking for an extra set expert eyes :) hopefully they go on sale soon 😆 |
Hi @irieger - I have a couple questions!
When Boost from Conan Center is built with If by app package you mean a macOS
and the executable would have I'm wondering what approach this dylibbuilder tool is following - but I'm surprised this is needed at all. |
Hi @irieger - would you be able to provide more feedback? |
I think this PR is fine. All CCI recipes based on CMake, Autotools & Meson inject this flag under the hood when a shared lib or executable is built. It allows to set arbitrary long paths in @jcar87 The fact that install_name of dependencies is |
Sorry for reacting late. Had a few very busy weeks.
But in the end I'm not too deep into this full build processes. This is a hobby project of mine that I finally wanted to link with shared libs as otherwise all of my several binary tools would contain all the dependencies statically linked and pilling up on disc. The full scope of this change might need feedback from someone deeper in the boost build process. Just found this parameter I suggest to change in a guide how to get boost properly packed on mac. So I'm not sure how I can give more feedback here as I'm myself not fully overseeing this option. But it made sense to me and I wanted to start the discussion. |
Hi @irieger - thanks for your reply. We have reviewed this internally - there is relevant information in the manpages of
Shared libraries for Apple platforms on macOS should all have
I'll close this PR since based on the information we have, the change should be unnecessary. However, if you could provide more details about the process you are following to create relocatable bundles, in a way that the binaries created from these recipes are not suitable, please feel free to open an issue and assign it to me and we'll review it. Thanks! |
Add
-headerpad_max_install_names
linker flag for boost building on Apple platforms. This change reflects what is done on CMake based builds by default and allows proper library modification for relative load paths after the build.Specify library name and version: boost/1.80.0
This is also a good place to share with all of us why you are submitting this PR (specially if it is a new addition to ConanCenter): is it a dependency of other libraries you want to package? Are you the author of the library? Thanks!
I'm building a hobby project of mine using conan for the dependencies and found that boost doesn't allow packing via dylibbuilder to correct @rpath linking to work inside the app package. On the conan Slack on cpplang I was told that for cmake
-headerpad_max_install_names
is a default linker flag. This modifies the boost conanfile to add the appropriate linker flag to the b2 build flags. Hope that is the right place to do this?I'm currently a bit short on time so I haven't yet checked every item on the checklist below but maybe there can be some general feedback if this approach is good and this change is welcomed.