Jeg prøver at installere denne software kaldet Skedler. Deres dokumentation nævner GLIBCXX-biblioteksafhængigheder, men de kunne ikke være generet med at give installationsinstruktioner.
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
Kørsel af grep
kommandoen giver en no such file found
på Ubuntu 18.04. Jeg prøvede også sudo apt-get install libstdc++
og flere andre kommandoer, men intet ser ud til at installere de krævede biblioteker.
Svar
Det foreslåede stienavn, der skal kontrolleres, er ikke nøjagtigt for moderne Debian / Ubuntu. Kommandoen skal sandsynligvis være:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
Og dette segment ligner en del af ldd
kommandooutput:
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 der ikke er nogen tekst not found
efter pilen på nogen af disse tre linjer indikerer, at den binære blev testet af installationsprogrammet med succes at finde alt, hvad det havde brug for i biblioteket. Så det ser ud til, at denne afhængighed allerede håndteres af dit system.
Forresten ser Skedler-output lidt forvirrende ud med navnet på biblioteket. Det mest brugersynlige navn skal faktisk være libstdc++
.
I Debian 9 er der to versioner af libstdc++
i øjeblikket tilgængelige: den aktuelle version er pakket som libstdc++6
, og en ældre version, der plejede at være populær med forskellige proprietære software, er pakket som libstdc++5
. Jeg gætter på, at Ubuntu muligvis har lignende navngivne varianter.
Navnet GLIBCXX
er præfikset på navnene på versionssymbolerne i biblioteket. Normalt ville det være tættere relateret til bibliotekets faktiske navn (uden præfikset “lib”), men i dette tilfælde er plustegnene et problem, og derfor erstattes de med X-tegn.
(Den gamle libstdc++5
brugte en anden ABI, der er uforenelig med den aktuelle, og dens versionssymboler brugte et GLIBCPP
præfiks i stedet.)