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.)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *