1

I'm trying to install this software called Skedler. Their documentation mentions GLIBCXX library dependencies but they couldn't be bothered providing installation instructions.

GLIBCXX libraries

Skedler has dependency on libstdc++ library.
    Following are the GLIBCXX versions the code depends on
    libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
To check the versions on your server. Please run the command
    CentOS 
    strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
    Debian/Ubuntu
    strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX 

    If the version is not available, update the GCC compiler

Running the grep command give a no such file found on Ubuntu 18.04. I also tried sudo apt-get install libstdc++ and several other commands but nothing seems to install the required libraries.

3

The suggested pathname to check is not accurate for modern Debian/Ubuntu. The command should probably be:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

And this segment looks like a part of ldd command output:

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

The fact that there is no text not found after the arrow on any of those three lines indicates that the binary that was tested by the installation program did successfully find everything it needed within the library. So it looks like this dependency is already handled by your system.

By the way, the Skedler output looks a bit confusing regarding the name of the library. The most user-visible name should actually be libstdc++.

In Debian 9, there are two versions of libstdc++ currently available: the current version is packaged as libstdc++6, and a legacy version that used to be popular with various proprietary software is packaged as libstdc++5. I guess Ubuntu might have similarly-named variants available.

The name GLIBCXX is the prefix on the names of the version symbols within the library. Usually it would be more closely related to the actual name of the library (without the "lib" prefix), but in this case, the plus signs are a problem, and so they are replaced with X characters.

(The old libstdc++5 used a different ABI that is incompatible with the current one, and its version symbols used a GLIBCPP prefix instead.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.