-
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: ignore dependency if it doesn't provide a library [v1] #23478
Conversation
🤖 Beep Boop! This pull request is making changes to 'recipes/boost//'. 👋 @grafikrobot @Hopobcn @jwillikers @paulharris you might be interested. 😉 |
This comment has been minimized.
This comment has been minimized.
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. |
@kambala-decapitator Thank you for your PR! This current Boost recipe is linking to both zlib and bzip2 libraries present in Conan Center and is working. Why do you need these custom recipes instead of using the officials? Plus, could you please share your full build log with your described error? |
@uilianries I'd like to use system libraries - the less custom dependencies the better :) This has worked great with a few other libraries from CCI. I know that v2 has a built-in way to declare system libs, but currently our project is still using v1. sorry, don't have the build log at hand any more, but initially it said something like "index out of bounds" pointing at the line
at first I modified my custom recipes to include library name in
you can see full log at https://github.com/vcmi/vcmi/actions/runs/8637368273/job/23679378148 And with the current patch it all builds and works perfectly. |
@kambala-decapitator Sorry, I still miss the big picture, because you are actually using a Conan package for Boost, but can not use for zlib and bzip2? Those packages are built exactly as recommended by the upstream and most excepted in Linux distros, we usually compare patches from distros linux like Ubuntu and from AUR to make sure. Also, you can build from source all packages and inspect the recipe exported, in case you have security reasons. Is there something wrong with those packages that we could improve?
Yes, packaging system libraries is a bit more complicated. You can use some recipes from CCI as reference:
Thank you for sharing! |
@uilianries I've run into a similar problem elsewhere when using |
@kambala-decapitator You might try setting the |
@jwillikers Thank you for your comment. Indeed accessing an index that could be empty is a bug, I'm not in the opposite of fixing the recipe in case having something broken. But first I would like to understand this scenario. When you mention |
In my case, I had to add the include directories from the |
This comment has been minimized.
This comment has been minimized.
@uilianries @jwillikers thank you for the responses!
Apple OSs have these libraries in the system (I also have custom recipes to wrap iconv and sqlite3 btw) and I want to use them instead of building them from source. It's common practice in Apple world to use these built-in libraries in programs. I don't think that I must use them from CCI only?
these examples install something from package managers. I don't need this, all the aforementioned libs are present in a freshly installed OS.
yes, that's what I tried initially. But once I set btw I've just thought of this: would it make more sense to adjust the patch to check if P.S. Do I need to take any action because of the unexpected build error? |
@uilianries please check my above comment |
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️All green in build 7 (
Conan v2 pipeline ✔️
All green in build 7 (
|
Hooks produced the following warnings for commit 6a04904boost/1.83.0@#163e26b9dc12e73728e4d3c489bec1bd
boost/1.79.0@#ae4c3d4fd92f165ba6fb2c075f4c8c0d
boost/1.81.0@#b8dc4d6077ea9c27851f39511ef48c72
boost/1.78.0@#e7cdfcfabf40a7be163a3eba83ce25b7
boost/1.84.0@#1a56e4b40ceccf6b196212cd43e3e5c5
boost/1.76.0@#54dc2458ed92237bedf4a66750c982c7
boost/1.75.0@#eee9e434747e0daa298bd1ef233c16f1
boost/1.72.0@#19d559550a786c9e125eab94c22cdc36
boost/1.71.0@#c65a1cabc521931a5d4789e45fa23606
boost/1.73.0@#d3cca0e6b1455648a1a01baa489546d2
boost/1.82.0@#b5964bcd3a243037f377fd0005fc93c6
boost/1.77.0@#1582d872291de21ded575482b9f41972
|
@kambala-decapitator Thank you for more details about your case. Could please refer a source about this common practice in Apple world? I've never heard about, so I'm curious. The problem using system dependencies is tracking the changes and reproducing the same build with total safety. You are totally free to mix Conan packages with system packages at your risk, if this enough to cover your case, so is totally fine :) |
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.
LGTM
@uilianries thanks for the merge! I don't have a source in the sense of an article from documentation, but if you open any Xcode project and go to the |
Specify library name and version: boost/any
For Conan v1 I use the following custom recipes that wrap system libraries on Apple platforms:
But when I try to build Boost against those, it fails due to attempt to access first element of an empty array. This patch prevents that.
Tested by building Boost as shared library and my project and then running my project successfully.