Die Installation von Octave-4.0.0 auf CentOS führt zu einem QtOpenGL-Verbindungsfehler
1199
irritable_phd_syndrom
Ich versuche gerade, Octave-4.0.0 auf einem CentOS 6-Cluster zu installieren. Octave hat mehr als 20 Abhängigkeiten und es ist unklar, welche Versionen jeder Abhängigkeit verwendet werden sollen. Da es yumnur Octave-3.4.3 gibt, habe ich Octave-3.4.3 yummit der Hoffnung installiert, dass ich die Mehrheit der Abhängigkeiten richtig machen würde. Ich musste auch installieren (via yum)
In / usr / lib64 / habe ich den Inhalt der Qt-Bibliotheken überprüft
$ for i in *Qt*.so.4.6.2; do echo $i; nm -C -D $i | grep -i checkWindowRole; done libQt3Support.so.4.6.2 U QObjectPrivate::checkWindowRole() U QWidgetPrivate::checkWindowRole() libQtAssistantClient.so.4.6.2 libQtCLucene.so.4.6.2 libQtCore.so.4.6.2 00000000001657b0 T QObjectPrivate::checkWindowRole() libQtDBus.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtDesignerComponents.so.4.6.2 libQtDesigner.so.4.6.2 libQtGui.so.4.6.2 U QObjectPrivate::checkWindowRole() 00000000002388f0 T QWidgetPrivate::checkWindowRole() libQtHelp.so.4.6.2 libQtMultimedia.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtNetwork.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtOpenGL.so.4.6.2 U QObjectPrivate::checkWindowRole() U QWidgetPrivate::checkWindowRole() libQtScript.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtScriptTools.so.4.6.2 U QObjectPrivate::checkWindowRole() U QWidgetPrivate::checkWindowRole() libQtSql.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtSvg.so.4.6.2 U QObjectPrivate::checkWindowRole() U QWidgetPrivate::checkWindowRole() libQtTest.so.4.6.2 libQtXmlPatterns.so.4.6.2 U QObjectPrivate::checkWindowRole() libQtXml.so.4.6.2
Und es scheint, dass innerhalb von QWidgetPrivate::checkWindowRole()(wenn ich nmrichtig interpretiere ?) Erklärt wird libQtGui.so.4.6.2. Diese Bibliothek ist bereits verlinkt (siehe oben)
FRAGE: Wie kann ich dieses Problem beheben und libQtOpenGLdie richtigen Bibliotheken sehen?
1 Antwort auf die Frage
0
irritable_phd_syndrom
Es stellt sich heraus, dass ich eine Software habe, die ich lokal in meinem Benutzerbereich installiert habe und einige Bibliotheken darin installiert habe ~/local/lib. In diesem Verzeichnis wurde die Software installiert libQtCore.so.4und libQtGui.so.4. Dies waren die einzigen Qt-bezogenen Bibliotheken, die hier installiert wurden. Ebenso hatte ich eingestellt
Dies bedeutet, dass der Linker diese Bibliotheken vor denen gefunden hat, die sich in befinden /usr/lib64. Wenn Sie $ LD_LIBRARY_PATH so ändern, dass er nicht mehr darauf verweist ~/local/lib, lassen Sie den Linker seine Arbeit erledigen und mein Problem lösen.