I am now building GCC 12.1.0 on CentOS 7.4, and I'm surprisingly find that there are no GLIBCXX
at all in the built libstdc++.so.6
. However, older version like 5.5.0, 7.4.0 and 9.3.0 would not run into the issue. The strings
command give the following output.
# strings /data/share/apps/gcc/12.1.0/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
and
# strings /data/share/apps/gcc/9.3.0/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_DEBUG_MESSAGE_LENGTH
...
While GLIBC
seems to be normal, with GLIBC_
no more than 2.17.
I tried to build GCC 12.1.0 according to the procudure on official document directly. And I also tried to use newer GCC version (like the built GCC 9.3.0) to build the 12.1.0 and facing the same situation.
Then I tried to add --with-default-libstdcxx-abi=gcc4-compatible
and seemed to be useless.
Some older versions like 10.1.0 also face the issue.
Because of usage on HPC system, it would not be a good idea to install devtool on remote hosts one by one and, in my opinion, manually compilation might be the easiest way.
So what happened and how could I deal with it?
I am now building GCC 12.1.0 on CentOS 7.4, and I'm surprisingly find that there are no GLIBCXX
at all in the built libstdc++.so.6
. However, older version like 5.5.0, 7.4.0 and 9.3.0 would not run into the issue. The strings
command give the following output.
# strings /data/share/apps/gcc/12.1.0/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
and
# strings /data/share/apps/gcc/9.3.0/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_DEBUG_MESSAGE_LENGTH
...
While GLIBC
seems to be normal, with GLIBC_
no more than 2.17.
I tried to build GCC 12.1.0 according to the procudure on official document directly. And I also tried to use newer GCC version (like the built GCC 9.3.0) to build the 12.1.0 and facing the same situation.
Then I tried to add --with-default-libstdcxx-abi=gcc4-compatible
and seemed to be useless.
Some older versions like 10.1.0 also face the issue.
Because of usage on HPC system, it would not be a good idea to install devtool on remote hosts one by one and, in my opinion, manually compilation might be the easiest way.
So what happened and how could I deal with it?
Share Improve this question asked Nov 19, 2024 at 7:00 Cloudac7Cloudac7 11 Answer
Reset to default 0Well, after adding binutlils 2.41 to dependency, the issue seems to be solved.