Ich versuche, diese Software namens Skedler zu installieren. In der Dokumentation werden die Abhängigkeiten der GLIBCXX-Bibliothek erwähnt, aber sie konnten sich nicht die Mühe machen, Installationsanweisungen bereitzustellen.
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
Wenn Sie den Befehl grep
ausführen, erhalten Sie unter Ubuntu 18.04 ein no such file found
. Ich habe auch versucht sudo apt-get install libstdc++
und mehrere andere Befehle, aber nichts scheint die erforderlichen Bibliotheken zu installieren.
Antwort
Der vorgeschlagene zu überprüfende Pfadname ist für modernes Debian / Ubuntu nicht korrekt. Der Befehl sollte wahrscheinlich lauten:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
Und dieses Segment sieht aus wie ein Teil der ldd
Befehlsausgabe:
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
Die Tatsache, dass nach dem Pfeil in einer dieser drei Zeilen kein Text not found
steht, zeigt an, dass die Binärdatei dies ist wurde vom Installationsprogramm getestet und fand erfolgreich alles, was es in der Bibliothek brauchte. Es sieht also so aus, als ob diese Abhängigkeit bereits von Ihrem System behandelt wird.
Übrigens sieht die Skedler-Ausgabe in Bezug auf den Namen der Bibliothek etwas verwirrend aus. Der für den Benutzer am besten sichtbare Name sollte eigentlich libstdc++
sein.
In Debian 9 sind derzeit zwei Versionen von libstdc++
verfügbar: Die aktuelle Version ist als libstdc++6
gepackt. Eine ältere Version, die früher bei verschiedenen proprietären Programmen beliebt war, ist als libstdc++5
verpackt. Ich denke, Ubuntu verfügt möglicherweise über Varianten mit ähnlichen Namen.
Der Name GLIBCXX
ist das Präfix für die Namen der Versionssymbole in der Bibliothek. Normalerweise hängt es enger mit dem tatsächlichen Namen der Bibliothek zusammen (ohne das Präfix „lib“), aber in diesem Fall sind die Pluszeichen ein Problem und werden daher durch X-Zeichen ersetzt.
(Das alte libstdc++5
verwendete ein anderes ABI, das mit dem aktuellen nicht kompatibel ist, und seine Versionssymbole verwendeten stattdessen ein GLIBCPP
-Präfix.)