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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.