Libstdc++.so.6: version `GLIBCXX_3.4.20' error

Hi ,

we are using lexactivator 2.2 version in our application. When customer tries to run our application in centos 7 they get this error

Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found

This library is required by lexactivator only.

The issue you are facing is not because of LexActivator. LexActivator is compiled on Debian 7. The output of following command on Debian is:

strings /usr/lib/x86_64-linux-gnu/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_DEBUG_MESSAGE_LENGTH

and output of following command:

ldd -v libLexActivator.so | grep GLIBCXX

libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6

which clearly show that the minimum required version of libstdc++ library for LexActivator is not 3.4.20

As far as solution is concerned you can check the dependency of other binaries/libs you might be using, for that you can use the above command to find the lib causing the issue.

Ideally, you should use Dockers (which is becoming the industry standard) to deploy/ship your web applications to your customers in order to make sure such issues never occur.

Ok Got it. thanks. will check and get back to you.