Ich erhalte den Fehler "/usr/lib64/libstdc++.so.6: Version" GLIBCXX_3.4.14 "nicht gefunden" und andere Fehler, wenn ich im Qt-Verzeichnis gmake eingebe

1533
a_sid

Ich habe das Offline-Installationsprogramm "Qt 5.8.0 für Linux 64-Bit (766 MB)" und die tar.gz-Datei für Linux- und Mac-Benutzer unter folgendem Link installiert:

https://www.qt.io/download-open-source/

Die tar.gz-Datei, die ich heruntergeladen habe, war qt-everywhere-opensource-src-5.8.0.tar

(Mein System in RHEL 6.6).

Ich habe dann sowohl die tar.gz-Datei als auch das Installationsprogramm auf meinen Desktop übertragen und ich habe auf diesen Link für weitere Anweisungen verwiesen:

http://doc.qt.io/qt-5/linux-building.html

Auf meinem Desktop habe ich folgende Befehle eingegeben:

gunzip qt-everywhere-opensource-src-5.8.0.tar.gz  tar xvf qt-everywhere-opensource-src-5.8.0.tar  

Dadurch wurde das Verzeichnis erstellt qt-everywhere-opensource-src-5.8.0. Ich ging dann cdin dieses Verzeichnis und tippte ./configure.

Daraufhin wurde ich zuerst gefragt, ob ich die Open-Source-Edition oder die Commercial-Edition wollte, und ich entschied mich für die Open-Source-Edition. Ich wurde dann gefragt, ob ich mit den GPL- und LGPL-Lizenzen einverstanden bin, und ich habe mich erneut für Ja entschieden. Am Ende wurde mir folgende Nachricht angezeigt:

Qt is now configured for building. Just run 'gmake'. Once everything is built, you must run 'gmake install'. Qt will be installed into /usr/local/Qt-5.8.0  Prior to reconfiguration, make sure you remove any leftovers from the previous build. 

Nachdem ich das gelesen hatte, schrieb ich gmakeauf der Kommandozeile. Nach gmakemehrstündiger Bearbeitung bekam ich folgende Fehler:

gmake[4]: Entering directory `/root/Desktop/qt-everywhere-opensource-src-5.8.0/qtscxml/examples/scxml/trafficlight-widgets-static' /root/Desktop/qt-everywhere-opensource-src-5.8.0/qtscxml/examples/scxml/trafficlight-widgets-static/qscxmlc_wrapper.sh ../trafficlight-common/statemachine.scxml --header statemachine.h --impl ./statemachine.cpp /root/Desktop/qt-everywhere-opensource-src-5.8.0/qtscxml/bin/qscxmlc: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /root/Desktop/qt-everywhere-opensource-src-5.8.0/qtscxml/bin/qscxmlc) gmake[4]: *** [statemachine.h] Error 1 gmake[4]: Leaving directory `/root/Desktop/qt-everywhere-opensource-src-5.8.0/qtscxml/examples/scxml/trafficlight-widgets-static' gmake[3]: *** [sub-trafficlight-widgets-static-make_first] Error 2 gmake[3]: Leaving directory `/root/Desktop/qt-everywhere-opensource-src-5.8.0/qtscxml/examples/scxml' gmake[2]: *** [sub-scxml-make_first] Error 2 gmake[2]: Leaving directory `/root/Desktop/qt-everywhere-opensource-src-5.8.0/qtscxml/examples' gmake[1]: *** [sub-examples-make_first] Error 2 gmake[1]: Leaving directory `/root/Desktop/qt-everywhere-opensource-src-5.8.0/qtscxml' gmake: *** [module-qtscxml-make_first] Error 2 

Warum erhalte ich diese Fehler? Was soll ich tun, um sie zu lösen?

BEARBEITEN:

Wenn ich gcc -v eingebe, erhalte ich folgende Ausgabe:

Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/root/gcc-4.8.2/libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /root/Downloads/objdir/../gcc-4.8.2/configure --prefix=/root/gcc-4.8.2 --enable-languages=c,c++,fortran,go --disable-multilib Thread model: posix gcc version 4.8.2 (GCC)  

Ich habe die Fehler sorgfältig gelesen und festgestellt, dass die Wurzel meiner Fehler diese Zeile ist:

/root/Desktop/qt-everywhere-opensource-src-5.8.0/qtscxml/bin/qscxmlc: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /root/Desktop/qt-everywhere-opensource-src-5.8.0/qtscxml/bin/qscxmlc) 

Ich bezog mich auf eine Stack Overflow-Antwort und darauf basierend habe ich den folgenden Befehl eingegeben:

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX und es gab mir die folgende Ausgabe:

GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH 

Anscheinend ist GLIBCXX_3.4.14 nicht auf meinem System und sucht danach. Wie kann ich dieses Problem umgehen?

0
Es ist ziemlich einfach, /usr/lib64/libstdc++.so.6.0.13 durch eine neuere Version zu ersetzen. Und erstellen Sie den neuen Link libstdc ++. ... * Wenn * Sie nicht den g ++ - Compiler verwenden. Dh g ++ hängt von libstdc ++ ab, so.6.0.13. .... Beispiel: libstdc ++ - 4.8.2-15.el6.x86_64.rpm https://drive.google.com/file/d/0B7S255p3kFXNTldGbExoYXliYkU/view?usp=sharing ... Anstatt ein Paket zu installieren, müssen Sie kann auch: Entpacke das RPM und kopiere libstdc ++. so.6.0.xx nach / usr / lib64 /. Knud Larsen vor 7 Jahren 0
@KnudLarsen Was passiert, wenn man den g ++ - Compiler verwendet? a_sid vor 7 Jahren 0
g ++ ist in Ordnung mit zB libstdc ++, so.6 -> libstdc ++, so.6.0.19. Die Probleme, an die ich mich erinnerte, waren: Installieren des Alien-RPM-Pakets. Entpacken Sie rpm: `unPack_rpm.sh`: https://drive.google.com/file/d/0B7S255p3kFXNZ2EyWFpOdEhDOGM/view?usp=sharing Knud Larsen vor 7 Jahren 0

0 Antworten auf die Frage