FoldingAtHome / fah-issues

49 stars 9 forks source link

CXXABI 1.3.8 not found in libstdc++so.6 on Linux with v7.4.9 (alpha) #1147

Closed bb30994 closed 8 years ago

bb30994 commented 9 years ago

The dependency for CXXABI_1.3.8 cannot be resolved even after adding a link to libstdc++so.

This is Ubuntu 14.04 LTS

jcoffland commented 9 years ago

You have to add the right libstdc++so.6. There are many different versions. Using information from this page, I came up with the following table:

GCC GLibC C++ ABI libstdc++.so
3.1.0 GLIBCPP_3.1 CXXABI_1 libstdc++.so.4.0.0
3.1.1 GLIBCPP_3.1 CXXABI_1 libstdc++.so.4.0.1
3.2.0 GLIBCPP_3.2 CXXABI_1.2 libstdc++.so.5.0.0
3.2.1 GLIBCPP_3.2.1 CXXABI_1.2 libstdc++.so.5.0.1
3.2.2 GLIBCPP_3.2.2 CXXABI_1.2 libstdc++.so.5.0.2
3.2.3 GLIBCPP_3.2.2 CXXABI_1.2 libstdc++.so.5.0.3
3.3.0 GLIBCPP_3.2.2 CXXABI_1.2.1 libstdc++.so.5.0.4
3.3.1 GLIBCPP_3.2.3 CXXABI_1.2.1 libstdc++.so.5.0.5
3.3.2 GLIBCPP_3.2.3 CXXABI_1.2.1 libstdc++.so.5.0.5
3.3.3 GLIBCPP_3.2.3 CXXABI_1.2.1 libstdc++.so.5.0.5
3.4.0 GLIBCXX_3.4 CXXABI_1.3 libstdc++.so.6.0.0
3.4.1 GLIBCXX_3.4.1 CXXABI_1.3 libstdc++.so.6.0.1
3.4.2 GLIBCXX_3.4.2 CXXABI_1.3 libstdc++.so.6.0.2
3.4.3 GLIBCXX_3.4.3 CXXABI_1.3 libstdc++.so.6.0.3
4.0.0 GLIBCXX_3.4.4 CXXABI_1.3.1 libstdc++.so.6.0.4
4.0.1 GLIBCXX_3.4.5 CXXABI_1.3.1 libstdc++.so.6.0.5
4.0.2 GLIBCXX_3.4.6 CXXABI_1.3.1 libstdc++.so.6.0.6
4.0.3 GLIBCXX_3.4.7 CXXABI_1.3.1 libstdc++.so.6.0.7
4.1.0 GLIBCXX_3.4.7 CXXABI_1.3.1 libstdc++.so.6.0.7
4.1.1 GLIBCXX_3.4.8 CXXABI_1.3.1 libstdc++.so.6.0.8
4.2.0 GLIBCXX_3.4.9 CXXABI_1.3.1 libstdc++.so.6.0.9
4.2.1 GLIBCXX_3.4.9 CXXABI_1.3.1 libstdc++.so.6.0.9
4.2.2 GLIBCXX_3.4.9 CXXABI_1.3.1 libstdc++.so.6.0.9
4.3.0 GLIBCXX_3.4.10 CXXABI_1.3.2 libstdc++.so.6.0.10
4.4.0 GLIBCXX_3.4.11 CXXABI_1.3.3 libstdc++.so.6.0.11
4.4.1 GLIBCXX_3.4.12 CXXABI_1.3.3 libstdc++.so.6.0.12
4.4.2 GLIBCXX_3.4.13 CXXABI_1.3.3 libstdc++.so.6.0.13
4.5.0 GLIBCXX_3.4.14 CXXABI_1.3.4 libstdc++.so.6.0.14
4.6.0 GLIBCXX_3.4.15 CXXABI_1.3.5 libstdc++.so.6.0.15
4.6.1 GLIBCXX_3.4.16 CXXABI_1.3.5 libstdc++.so.6.0.16
4.7.0 GLIBCXX_3.4.17 CXXABI_1.3.6 libstdc++.so.6.0.17
4.8.0 GLIBCXX_3.4.18 CXXABI_1.3.7 libstdc++.so.6.0.18
4.8.3 GLIBCXX_3.4.19 CXXABI_1.3.7 libstdc++.so.6.0.19
4.9.0 GLIBCXX_3.4.20 CXXABI_1.3.8 libstdc++.so.6.0.20
5.1.0 GLIBCXX_3.4.21 CXXABI_1.3.9 libstdc++.so.6.0.21

So for CXXABI_1.38 you need libstdc++.so.6.0.20 or newer. It may be difficult to obtain this version on some systems.

What libstdc++ versions are on the system? Knowing this we can use the table above to find out what is the newest compiler that uses that C++ ABI.

bb30994 commented 9 years ago

libstdc++.so.6.0.19

jcoffland commented 9 years ago

So one version newer would do the trick. Which client package and version is this?

bb30994 commented 9 years ago

FAHClient V7.4.9 (and some earlier)

... and you mean one version older (complier).

jcoffland commented 9 years ago

One version newer libstdc++.so.6.

This is about the alpha client. I will probably downgrade the compiler before going beta.

BTW, the CentOS build used the older compiler and C++ library. The .tar.bz2 of that should work on older systems. Or you can use the command alien to convert the .rpm to a .deb.

jcoffland commented 8 years ago

I believe this is fixed in v7.4.15.

bb30994 commented 6 years ago

Is this going to be a continuing problem? Now folks are getting similar errors requiring an even later version of CXXABI and libstdc++

after a while a tried on CentOS 7 a core 0xA7 again and get the error ./FahCore_a7: /lib64/libstdc++.so.6: version CXXABI_1.3.9' not found (required by ./FahCore_a7) ./FahCore_a7: /lib64/libstdc++.so.6: versionGLIBCXX_3.4.21' not found (required by ./FahCore_a7)