Sto cercando di installare questo software chiamato Skedler. La loro documentazione menziona le dipendenze della libreria GLIBCXX, ma non possono essere disturbati a fornire le istruzioni di installazione.
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
Lesecuzione del comando grep
fornisce un no such file found
su Ubuntu 18.04. Ho anche provato sudo apt-get install libstdc++
e molti altri comandi, ma niente sembra installare le librerie richieste.
Risposta
Il percorso suggerito da controllare non è accurato per la moderna Debian / Ubuntu. Il comando dovrebbe probabilmente essere:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
E questo segmento sembra una parte delloutput 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
Il fatto che non ci sia testo not found
dopo la freccia su nessuna di queste tre righe indica che il binario che è stato testato dal programma di installazione ha trovato con successo tutto ciò di cui aveva bisogno nella libreria. Quindi sembra che questa dipendenza sia già gestita dal tuo sistema.
A proposito, loutput di Skedler sembra un po confuso riguardo al nome della libreria. Il nome più visibile dallutente dovrebbe effettivamente essere libstdc++
.
In Debian 9, ci sono due versioni di libstdc++
attualmente disponibili: la versione corrente è pacchettizzata come libstdc++6
, e una versione precedente che era popolare con vari software proprietari è confezionata come libstdc++5
. Immagino che Ubuntu potrebbe avere varianti con nomi simili disponibili.
Il nome GLIBCXX
è il prefisso sui nomi dei simboli di versione allinterno della libreria. Di solito sarebbe più strettamente correlato al nome effettivo della libreria (senza il prefisso “lib”), ma in questo caso i segni più sono un problema e quindi vengono sostituiti con caratteri X.
(Il vecchio libstdc++5
utilizzava un diverso ABI incompatibile con quello attuale e i simboli della sua versione utilizzavano invece un prefisso GLIBCPP
.)