bfgroup / b2

B2 makes it easy to build C++ projects, everywhere.
https://www.bfgroup.xyz/b2/
Boost Software License 1.0
80 stars 229 forks source link

B2 is looking for GLIBC_2.34 #165

Open H-G-Hristov opened 2 years ago

H-G-Hristov commented 2 years ago

I'm trying to build boost in a custom Debian Bullseye based Docker container with self compiled GCC and GLIBC 2.35 but I'm getting the following error. If I use GLIBC 2.12.2 Boost compiles fine.

What can I do?

using "gcc" : "12" : /opt/swi-gcc/bin/g++ :

"/opt/swi-gcc/bin/ar" ; boost/1.79.0@minsk/stable: WARN: /home/root/.conan/data/boost/1.79.0/minsk/stable/source/boost_1_79_0/tools/build/b2 target-os=linux architecture=x86 address-model=64 binary-format=elf abi=sysv --layout=system -sBOOST_BUILD_PATH=/home/root/.conan/data/boost/1.79.0/minsk/stable/source/boost_1_79_0/tools/build -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 threading=multi link=static variant=release --without-python toolset=gcc cxxflags=-std=c++2a define=_GLIBCXX_USE_CXX11_ABI=1 cxxflags="-fPIC" boost.locale.icu=off -j4 --abbreviate-paths -d2 --debug-configuration --build-dir="/home/root/.conan/data/boost/1.79.0/minsk/stable/build/c33b83576f6f5922b2fd6fd85754e3d70483d3dc" /home/root/.conan/data/boost/1.79.0/minsk/stable/source/boost_1_79_0/tools/build/b2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /home/root/.conan/data/boost/1.79.0/minsk/stable/source/boost_1_79_0/tools/build/b2) /home/root/.conan/data/boost/1.79.0/minsk/stable/source/boost_1_79_0/tools/build/b2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /home/root/.conan/data/boost/1.79.0/minsk/stable/source/boost_1_79_0/tools/build/b2)
H-G-Hristov commented 2 years ago

boost/1.79.0@minsk/stable: ./bootstrap.sh -with-toolset=gcc Building the B2 engine..

Using 'gcc' toolset.

g++ (SWI, for Linux 4.4.238 and glibc 2.35) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

g++ -x c++ -std=c++11 -O2 -s -DNDEBUG builtins.cpp class.cpp command.cpp compile.cpp constants.cpp cwd.cpp debug.cpp debugger.cpp execcmd.cpp execnt.cpp execunix.cpp filesys.cpp filent.cpp fileunix.cpp frames.cpp function.cpp glob.cpp hash.cpp hcache.cpp hdrmacro.cpp headers.cpp jam_strings.cpp jam.cpp jamgram.cpp lists.cpp make.cpp make1.cpp md5.cpp mem.cpp modules.cpp native.cpp object.cpp option.cpp output.cpp parse.cpp pathnt.cpp pathsys.cpp pathunix.cpp regexp.cpp rules.cpp scan.cpp search.cpp startup.cpp subst.cpp sysinfo.cpp timestamp.cpp variable.cpp w32_getreg.cpp modules/order.cpp modules/path.cpp modules/property-set.cpp modules/regex.cpp modules/sequence.cpp modules/set.cpp -o b2 cp b2 bjam

Building is done. To install, run:

./b2 install --prefix=<DIR>