-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
[Bug]: build failure on redhat/ubi8 #1681
Comments
I met same problem in building on MIPS platform |
I met same problem in building on debian 10 |
The same issue occurred when I used the default C++ compiler (g++ 8.5.0) on Red Hat Enterprise Linux 8.10 to compile the abseil-cpp code. To solve the compilation crash, you should rely on a newer version of the GCC. Here's a solution that might work. It is based on the installation of the gcc-toolset-14 meta package. The GCC toolset packages introduces to the system a different version of the GCC compiler collection and runtime libraries, which is newer than the baseline one and has up-to-date C++ support, which is a crucial point here. First, install the necessary package(s):
Afterwards, before running the CMake configuration, run this as the user appointed to run the compilation:
It loads the necessary environment components that will allow you to switch from the baseline GCC compiler collection to the one installed with the GCC toolset. Note that it is mandatory to run the CMake configuration process within the same Bash session invoked through scl tool (that kind of invoking Bash is shown above):
The configuration process, generally, goes smoothly (at least in my case). Building (compilation) comes next:
See the attached log file cmake-build-abseil-cpp-20240722.0.log to catch with the messages emitted by
I have attached here the outcome of the test process. It is stored in the log file ctest-abseil-cpp-20240722.0.log. |
Describe the issue
The build fails on redhat/ubi8 with:
122.5 [ 35%] Building CXX object absl/container/CMakeFiles/absl_btree_test.dir/btree_test.cc.o
171.2 /tmp/ccXC28tB.s: Assembler messages:
171.2 /tmp/ccXC28tB.s:305105: Error: symbol `_ZSt7forwardIRKaEOT_RNSt16remove_referenceIS2_E4typeE' is already defined
174.0 gmake[2]: *** [absl/container/CMakeFiles/absl_btree_test.dir/build.make:76: absl/container/CMakeFiles/absl_btree_test.dir/btree_test.cc.o] Error 1
174.0 gmake[1]: *** [CMakeFiles/Makefile2:3322: absl/container/CMakeFiles/absl_btree_test.dir/all] Error 2
174.0 gmake: *** [Makefile:146: all] Error 2
Dockerfile:9
7 | WORKDIR /abseil-cpp-20240116.2/build
8 | RUN cmake -DABSL_BUILD_TESTING=ON -DABSL_USE_GOOGLETEST_HEAD=ON -DCMAKE_CXX_STANDARD=14 ..
9 | >>> RUN cmake --build . --target all
10 |
ERROR: failed to solve: process "/bin/sh -c cmake --build . --target all" did not complete successfully: exit code: 2
Steps to reproduce the problem
Attempt a build with the following Dockerfile (docker build .):
FROM redhat/ubi8
RUN dnf -y install gcc-c++ wget cmake
RUN wget https://github.com/abseil/abseil-cpp/releases/download/20240116.2/abseil-cpp-20240116.2.tar.gz
RUN tar -xf abseil-cpp-20240116.2.tar.gz
RUN mkdir /abseil-cpp-20240116.2/build
WORKDIR /abseil-cpp-20240116.2/build
RUN cmake -DABSL_BUILD_TESTING=ON -DABSL_USE_GOOGLETEST_HEAD=ON -DCMAKE_CXX_STANDARD=14 ..
RUN cmake --build . --target all
Note: A similar Dockerfile passes with debian:
FROM debian:bullseye
RUN apt-get update && apt install -y g++ wget cmake
RUN wget https://github.com/abseil/abseil-cpp/releases/download/20240116.2/abseil-cpp-20240116.2.tar.gz
RUN tar -xf abseil-cpp-20240116.2.tar.gz
RUN mkdir /abseil-cpp-20240116.2/build
WORKDIR /abseil-cpp-20240116.2/build
RUN cmake -DABSL_BUILD_TESTING=ON -DABSL_USE_GOOGLETEST_HEAD=ON -DCMAKE_CXX_STANDARD=14 ..
RUN cmake --build . --target all
What version of Abseil are you using?
20240116.2
What operating system and version are you using?
redhat/ubi8
[root@1152827655ea build]# uname -srm
Linux 5.14.0-362.13.1.el9_3.x86_64 x86_64
[root@1152827655ea build]# cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.10 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.10"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.10 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.10
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.10"
What compiler and version are you using?
[root@1152827655ea build]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.5.0 20210514 (Red Hat 8.5.0-22) (GCC)
What build system are you using?
[root@1152827655ea build]# cmake --version
cmake version 3.26.5
CMake suite maintained and supported by Kitware (kitware.com/cmake).
Additional context
No response
The text was updated successfully, but these errors were encountered: