-
Notifications
You must be signed in to change notification settings - Fork 974
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
Cannot build boost/1.85.0 recipe with latest Visual Studio 2022 build tools (version 17.10) due to known issue with b2/4.10.1 #16465
Comments
It seems the b2 fix (bfgroup/b2@f695420) is only present in the latest release of b2, that is 5.2.0 (and not in either 5.0.0 or in 5.1.0):
and
|
So is there any chance of adding a recipe for b2/5.2.0 and then making that a dependency of boost/1.85.0? If not, any chance that I could be pointed at the relevant docs to help me achieve a similar outcome at my end? I am relatively new to Conan package management so I might need a bit of hand-holding (sorry). I do have a Conan repo set up in a private Artifactory instance though and so forking (https://github.com/conan-io/conan-center-index), making the necessary changes, and pushing the resulting packages up to my private conan repository is definitely a possibility. Many thanks. |
The PR conan-io/conan-center-index#24288 was merged hours ago, so the new |
Thanks for the prompt reply (I really appreciate it). I did see that there was a b2/5.2.0 recipe here (https://github.com/conan-io/conan-center-index/blob/master/recipes/b2/config.yml), but the boost/1.85.0 recipe currently looks to have a pinned Apologies, but my Conan skills don't currently stretch to figuring out how to override that pinned dependency. Is there a way to override it? |
You might be able to overwrite it adding to your profile:
And then passing that profile to your |
Unfortunately using to following
Both b2/4.10.1 and b2/5.2.0 are installed side by side and the former gets used during the boost/1.85.0 build (leading to the issue as reported). I will try overriding the version of There is a narrow possibility that I may be able to specify the I would appreciate this issue being kept open until the vanilla Visual Studio 2022 version 17.10 build of boost/1.850 is possible without issue. Thanks. |
Good news! You were right (and I was wrong) :-) Adding:
to the |
Yes, the difference is that
Installs the tool-requires for yourself but not for boost, while the profile |
Okay. Thanks for the clarification. Just to confirm, I was able to build and package
So that confirms that the problem was (as suspected) with the |
I think this might be good feedback for @grafikrobot. |
Thank you for the ping.
I test B2 releases for Boost versions all the way back to 1.66.0 (for example: https://dev.azure.com/bfgroup/B2/_build/results?buildId=1287&view=logs&j=29508707-2082-586a-124b-f0598eaa1117&t=969d561e-c78e-519e-0c7d-2065d1cf56b7). But the testing is superficial as it doesn't compile anything. It only checks that the build commands generate. Hence.. Yes, it's likely possible you can update current and previous Boost releases to use the current B2. But I can't fully guarantee it will work identically. :-) |
Thanks for the feedback! Sure, things might not be identical, but to make sure, are you aware of some specific changes that will result in very different binaries? Or if things work and compile, we can expect that the binaries will keep being reasonably binary compatible? |
I'm not aware of B2 changes that would affect binary compatibility. Such incompatible changes would be in the Boost jamfiles instead of the B2 tool itself. |
Hello! I just updated a PR that we have in ConanCenterIndex CI related to Boost, using ranged version for b2: conan-io/conan-center-index@2e2752c
|
Okay, I'm taking back those words. Turns out there's one possible change only in b2/5.2.0 that may cause binary compat issues.. bfgroup/b2@376470f#diff-9a030b36fd0e7f9598dc36b4c932695bdf86ea75ae303f1b6d01e63de97d9f95R1935 That change will affect the ABI of the msvc stdlib. This might only be a problem if people disable exception handling with msvc. But I don't see anything in the Boost recipe that would allow for building Boost with exception handling off. But figured I'd point it out just in case. ;-) |
Thanks for pointing that out! I have also double-checked the boost recipe, indeed I don't see anything that would allow users to change this, so it seems we are good. |
Describe the bug
When attempting to build boost/1.85.0 using an invocation of
conan install ...
in a Windows docker build step (which has access to the latest Visual Studio 2022 build tools at version 17.10) the build fails with the error message:...
boost/1.85.0: ERROR:
Package '5b206d5bc0af0b57e57d2785127443f36883ffbb' build failed
boost/1.85.0: WARN: Build folder C:\Users\ContainerAdministrator.conan2\p\b\booste815830283dfd\b\build-release
ERROR: boost/1.85.0: Error in build() method, line 1130
self.run(full_command)
ConanException: Error 1 while executing
How to reproduce it
The docker file is as follows:
The
windows-x86_64-msvc194-release
conan profile that is installed and used is simply:The final failing step in the docker build log is:
It looks to me that the msvc toolset isn't being properly identified by b2 since all of the compiler sanity checks performed by b2 above return no (or none) I suspect it has to do with the b2 issues fixed here (bfgroup/b2#394).
My question is how do I work around this in the short term - until the b2 fix makes its way into the conan boost recipe? Everything is working fine with the Visual Studio 2022 build tools version 17.9.7, but it seems very involved to try to specify a non-latest version of the Visual Studio
vs_buildtools.exe
bootstrapper in my docker file (I am looking into it) and so it seems I am stuck with version 17.10+ (what I get when using the https://aka.ms/vs/17/release/channel and https://aka.ms/vs/17/release/vs_buildtools.exe URLs in the docker file) for now unfortunately. I would think this will affect a good number of users in any case, so should probably be addressed as part of the boost conan recipe anyway (if possible). Unfortunately, it seems b2/5.0.0 is the next release after b2/4.10.1 and that seems to drop backwards compatibility in some way - not sure if that is a problem for building boost or not and not yet sure whether that release contains the necessary patch anyway (I will take a quick look now).Any suggestions gratefully received. Thanks.
The text was updated successfully, but these errors were encountered: