Hi community.
I’m running RL8.3 and I’d like not to upgrade RL as it is stable as it is at the moment.
I’m struggling with a binary which is requesting GLIBCXX-3.4.29
Error is:
sc_dlopen failed: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found
As https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html says, gcc 11 provides this 3.4.29 version:
GCC 11.1.0: GLIBCXX_3.4.29, CXXABI_1.3.13
So I installed gcc 11 on my RL8.3
I can run it in “scl enable” mode:
[adminbbo@localhost Public]$ sudo scl enable gcc-toolset-11 bash
[root@localhost Public]# gcc --version
gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
Copyright (C) 2021 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.
[root@localhost Public]# g++ hello.cc -o hello.out
[root@localhost Public]# ldd hello.out
linux-vdso.so.1 (0x00007ffeae3f0000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fb3b0478000)
libm.so.6 => /lib64/libm.so.6 (0x00007fb3b00f6000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fb3afede000)
libc.so.6 => /lib64/libc.so.6 (0x00007fb3afb08000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb3b080d000)
As you see, my gcc 11 binary relies on /lib64/libstdc++.so.6 dyn lib which is still the RL8.3 version (which is 6.0.25 and NOT the expected gcc 11 version 6.0.29)
In the gcc 11 context, I expected my compiled binary to rely on the gcc 11 version of libstdc++ which would be libstdc++.so.6.0.29 BUT I cannot find this dynamic library in the gcc 11 folder tree…
So my question is:
is there a way to have my gcc 11 generate the libstdc++.so.6.0.29 dynamic lib in order my failing binary to use this 6.0.29 version and not fail on the old 6.0.25 one?
Thank you very much in advance.
spoutnik