find / -name "libstdc++.so.6*"
최신 libstdc++이 있는지 확인
그것이 /usr/lib64/libstdc++.so.6 이랑 링크 돼있는지 확인
ll /usr/lib64/libstdc++.so.6
예시 : strings /usr/lib64/libstdc++.so.6.0.19 | grep GLIBCXX
이것으로 libstdc++ 내부에 GLIBCXX Version이 어디까지 포함되어있는지 확인가능.
GLIBCXX_3.4.21 이 없다면 glibc update 필요.
해당 Error는 tensorflow 사용중 나타난 Error
tensorflow에서 basic_string을 undefined reference하고 GLIBCXX_3.4.21 같은 것이 뜬다면 build 시에 GCC version을 뭐 사용하는지 확인해보는 것이 좋음.
-> gcc --version과 상관없이, cmake 할때
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
같은 경우처럼 뜨는 경우도 있음 이럴땐 rpm -qa | grep gcc 로 설치된 gcc 확인해보고 쓸모없는 gcc version은 삭제해두는게 좋음.
--> 원인 설명 : https://yonomi.tistory.com/390
--> Dual ABI https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html