Jeg prøver å installere denne programvaren som heter Skedler. Dokumentasjonen deres nevner avhengigheter fra GLIBCXX-biblioteket, men de kunne ikke bry seg om å gi installasjonsinstruksjoner.
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
Kjører grep
kommandoen gir en no such file found
på Ubuntu 18.04. Jeg prøvde også sudo apt-get install libstdc++
og flere andre kommandoer, men ingenting ser ut til å installere de nødvendige bibliotekene.
Svar
Det foreslåtte stienavnet å sjekke er ikke nøyaktig for moderne Debian / Ubuntu. Kommandoen bør sannsynligvis være:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
Og dette segmentet ser ut som en del av ldd
kommandoutgang:
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
Det faktum at det ikke er noen tekst not found
etter pilen på noen av disse tre linjene, indikerer at den binære ble testet av installasjonsprogrammet, fant vellykket alt det trengte i biblioteket. Så det ser ut til at denne avhengigheten allerede håndteres av systemet ditt.
Forresten ser Skedler-utgangen litt forvirrende ut med navnet på biblioteket. Det mest brukersynlige navnet skal egentlig være libstdc++
.
I Debian 9 er det to versjoner av libstdc++
tilgjengelig for øyeblikket: den nåværende versjonen er pakket som libstdc++6
, og en eldre versjon som pleide å være populær blant forskjellige proprietær programvare, er pakket som libstdc++5
. Jeg antar at Ubuntu kan ha lignende navngitte varianter tilgjengelig.
Navnet GLIBCXX
er prefikset på navnene på versjonssymbolene i biblioteket. Vanligvis vil det være nærmere knyttet til det faktiske navnet på biblioteket (uten «lib» -prefikset), men i dette tilfellet er plusstegnene et problem, og derfor erstattes de med X-tegn.
(Den gamle libstdc++5
brukte en annen ABI som er uforenlig med den nåværende, og versjonssymbolene brukte et GLIBCPP
prefiks i stedet.)