-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
What is your question?
Hello,
In one of my docker container, I wanted to install boost through conan and it needed to be built so the b2/5.3.3 package was also download as a tool requirement.
As this point everything worked as expected but problems started when conan tried to call b2. Here is the error that came back:
/home/conan/.conan2/p/b23c7190a2974f7/p/bin/b2: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/conan/.conan2/p/b23c7190a2974f7/p/bin/b2)
And indeed my docker container uses GCC 9 (9.5.0 to be specific) and the libstdc++ that comes with it is 3.4.28 hence why the 3.4.29 symbols aren't found.
So my question is not really about why it doesn't work (the answer is simply because the libstdc++ is too old and doesn't contain the right symbols) but more about why this situation happen in the first place?
Because I though that conan took the compiler version information into account by default specifically to avoid this kind of problems but here it looks like this information has been removed from the package id:
$ conan list -r conancenter b2/5.3.3:*
Connecting to remote 'conancenter' anonymously
conancenter
b2
b2/5.3.3
revisions
107c15377719889654eb9a162a673975 (2025-06-19 13:38:30 UTC)
packages
522dcea5982a3f8a5b624c16477e47195da2f84f
info
settings
arch: x86_64
os: Windows
ef52fcb08b72f88cd87dade69f7b5e49a93b591a
info
settings
arch: x86_64,armv8
os: Macos
63fead0844576fc02943e16909f08fcdddd6f44b
info
settings
arch: x86_64
os: Linux
Just to be clear, I'm not asking for some kind of fix to be applied on the b2 recipe (except of course if you think one is needed), I want to understand why the recipe is setup the way it is? And so if this kind of issue is expected? Does conancenter specify that the expected compiler to be used be the latest one / a specific version?
Also any best practice on the handling of application package_type would be appreciated.
Regards,