-
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
[package] boost/1.74.0+: fails build with newer b2 (4.7.1) #9339
Comments
see the discussion: #9069 |
@SSE4 I've seen the discussion. I understand the reasoning behind a switch to new version. But I don't recognize any workarounds regarding my case (if there is then could you, please, highlight them). So I would like to know how to keep using boost with conan on centos with older GLIBC. |
For those who occasionally got here: |
This has nothing to do with Glibc. The GLIBCXX_3.4.21 symbol version is from libstdc++.so not from glibc. The problem is that you're using a newer GCC to compile+link b2 but then not telling ld.so how to find the libstdc++.so from the newer gcc when b2 is being executed later. See https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic for various solutions. Another solution would be to build b2 using the system gcc, then build the rest of boost with the newer gcc. |
Are you sure you're using the devtoolset GCC? If you were using it, you would not have any dependency on GLIBCXX_3.4.20 or GLIBCXX_3.4.21, since that's the point of the devtoolset compiler. |
This works for me to avoid conan install . --output-folder=build --build="*" Here is my FROM centos:7
RUN yum -y install epel-release
RUN yum -y install ninja-build
RUN yum -y install centos-release-scl-rh
RUN yum -y install devtoolset-11
RUN yum -y install python3-devel
RUN yum -y install perl-Data-Dumper
RUN pip3 install scikit-build --upgrade
RUN pip3 install conan --upgrade
RUN pip3 install pip --upgrade
RUN pip3 install cmake --upgrade
# For Conan build all
RUN yum groupinstall -y 'Development Tools'
RUN yum install -y perl-Digest-SHA
RUN yum install -y dnf
RUN yum install -y rh-python38 I run this command to setup conan: conan profile detect --force && \
conan install . --output-folder=build --build=b2 --build=missing && \
cmake -G Ninja --preset conan-release -DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-11/root/usr/bin/g++ |
@Molin-L @jwakely @ngrodzitski It failed because b2 was built by different Docker images, using different libstdc++ and glibc versions. As workaround, you should build As alternative, in case wanting to use https://docs.conan.io/2/reference/config_files/profiles.html#replace-tool-requires
|
Since https://github.com/conan-io/conan-center-index/pull/9069/files was introduced
Boost build fails on CentOS with oldet GLIBC.
And when I try to build boost it fails:
Is it possible to override the value b2 for boost package (ultimately: to tune a build requirements for any package referenced in my conanfile). I've tried to set b2 in build requirements of my package but that doesn't affect what boost uses for its own build.
With b2/4.5.0 it builds fine. Is there any workaround?
Package and Environment Details (include every applicable attribute)
The text was updated successfully, but these errors were encountered: