Estoy intentando instalar este software llamado Skedler. Su documentación menciona las dependencias de la biblioteca GLIBCXX, pero no se molestaron en proporcionar instrucciones de instalación.

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 

Ejecutando el comando grep da un no such file found en Ubuntu 18.04. También probé sudo apt-get install libstdc++ y varios otros comandos, pero nada parece instalar las bibliotecas necesarias.

Respuesta

El nombre de ruta sugerido para verificar no es exacto para Debian / Ubuntu moderno. El comando probablemente debería ser:

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

Y este segmento parece una parte del resultado del comando ldd:

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 

El hecho de que no haya texto not found después de la flecha en cualquiera de esas tres líneas indica que el binario que fue probado por el programa de instalación y encontró todo lo que necesitaba dentro de la biblioteca. Entonces, parece que su sistema ya maneja esta dependencia.

Por cierto, la salida de Skedler parece un poco confusa con respecto al nombre de la biblioteca. El nombre más visible para el usuario debería ser libstdc++.

En Debian 9, hay dos versiones de libstdc++ disponibles actualmente: la versión actual está empaquetada como libstdc++6, y una versión heredada que solía ser popular entre varios software patentados está empaquetada como libstdc++5. Supongo que Ubuntu podría tener variantes con nombres similares disponibles.

El nombre GLIBCXX es el prefijo de los nombres de los símbolos de versión dentro de la biblioteca. Por lo general, estaría más relacionado con el nombre real de la biblioteca (sin el prefijo «lib»), pero en este caso, los signos más son un problema, por lo que se reemplazan con caracteres X.

(La antigua libstdc++5 usaba una ABI diferente que es incompatible con la actual, y sus símbolos de versión usaban un prefijo GLIBCPP en su lugar).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *