[gelöst] qt5 linkt gegen qt4 lib
-
- Beiträge: 269
- Registriert: 01.10.2005 16:45:42
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Winterthur, selten auch Eisenach
[gelöst] qt5 linkt gegen qt4 lib
Mhh hab ein Problem wo ich nicht weiter komme. Es geht wie schon auch mal um den openglviewer fuer digitale gebaeudemodelle, IfcPlusPlus (https://github.com/berndhahnebach/IFCPlusPlus)
Der branch linuxbuild-qt4 https://github.com/berndhahnebach/IFCPl ... ADME.Linux laesst sich auf Debian Jessies problemlos uebersetzen und funktioniert auch.
Der orginalcode ist jedoch gegen qt5 gelinkt. Wenn ich den zum laufben bringe komme ich naeher an den orginalcode ran. Mein langfristiges Ziel ist, dass der orginalcode direkt unter linux uebersetzt werden kann. mit qt5 waere ich dem ein grosses stuecke naeher. Der branch linuxbuild-qt5 https://github.com/berndhahnebach/IFCPl ... ADME.Linux laesst sich auch problemlos uebersetzen, bloss beim startup gibt es ein speicherzugriffsfehler. Hab ich ihn mit den Debugger gestartet und festgestellt er linkt gegen ne Qt4 lib \
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff06ae90c in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
Ok als workaraound libQtGui.so.4 und libQtOpenGL.so.4 mit den Qt5 pendents ersetzt und nun kommt
/home/hugo/ifcplusplus-test/build/Debug/IfcPlusPlusViewer: symbol lookup error: /usr/lib/libosgQt.so.99: undefined symbol: _ZN7QWidget8x11EventEP7_X$ [Inferior 1 (process 2273) exited with code 0177]
Nun bin ich vollkommen mit meinem latein am Ende
Gruss bernd
kleines Beispielehaus gibt es hier:
http://ifcopenshell.org/ifcopenhouse/v3 ... nHouse.ifc
oder wer es fett mag ein Riesenmodell hier:
http://www.digital210king.org/downloader.php?file=24
Der branch linuxbuild-qt4 https://github.com/berndhahnebach/IFCPl ... ADME.Linux laesst sich auf Debian Jessies problemlos uebersetzen und funktioniert auch.
Der orginalcode ist jedoch gegen qt5 gelinkt. Wenn ich den zum laufben bringe komme ich naeher an den orginalcode ran. Mein langfristiges Ziel ist, dass der orginalcode direkt unter linux uebersetzt werden kann. mit qt5 waere ich dem ein grosses stuecke naeher. Der branch linuxbuild-qt5 https://github.com/berndhahnebach/IFCPl ... ADME.Linux laesst sich auch problemlos uebersetzen, bloss beim startup gibt es ein speicherzugriffsfehler. Hab ich ihn mit den Debugger gestartet und festgestellt er linkt gegen ne Qt4 lib \
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff06ae90c in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
Ok als workaraound libQtGui.so.4 und libQtOpenGL.so.4 mit den Qt5 pendents ersetzt und nun kommt
/home/hugo/ifcplusplus-test/build/Debug/IfcPlusPlusViewer: symbol lookup error: /usr/lib/libosgQt.so.99: undefined symbol: _ZN7QWidget8x11EventEP7_X$ [Inferior 1 (process 2273) exited with code 0177]
Nun bin ich vollkommen mit meinem latein am Ende
Gruss bernd
kleines Beispielehaus gibt es hier:
http://ifcopenshell.org/ifcopenhouse/v3 ... nHouse.ifc
oder wer es fett mag ein Riesenmodell hier:
http://www.digital210king.org/downloader.php?file=24
Zuletzt geändert von wartburgritter am 22.04.2014 21:46:13, insgesamt 1-mal geändert.
Stand März 2020:
Desktop Lenovo ThinkPad X1 mit Debian Buster (super kiste, aber der akku macht nach nunmehr 3 Jahren schlapp)
Fileserver veralte hardware mit neuer grosser hd mit Debian Lenny (ich sollte den wirklich mal ersetzen ... )
Mobiltelefon Sony Xperia mit SailfishOS
Tablet BQ aquaris M10 mit Ubuntu Touch
Desktop Lenovo ThinkPad X1 mit Debian Buster (super kiste, aber der akku macht nach nunmehr 3 Jahren schlapp)
Fileserver veralte hardware mit neuer grosser hd mit Debian Lenny (ich sollte den wirklich mal ersetzen ... )
Mobiltelefon Sony Xperia mit SailfishOS
Tablet BQ aquaris M10 mit Ubuntu Touch
Re: qt5 linkt gegen qt4 lib
In dem Readme sind dann noch 3 Zeilen
....
/home/hugo/ifcplusplus-test/build/Debug/IfcPlusPlusViewer: symbol lookup error: /usr/lib/libosgQt.so.99: undefined symbol: _ZN7QWidget8x11EventEP7_X$ [Inferior 1 (process 2273) exited with code 0177]
backups zurueckkopieren
mv libQtOpenGL.so.4.old libQtOpenGL.so.4
mv libQtGui.so.4.old libQtGui.so.4
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
- Beiträge: 269
- Registriert: 01.10.2005 16:45:42
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Winterthur, selten auch Eisenach
Re: qt5 linkt gegen qt4 lib
Ja klar, die hab ich mit reingeschrieben, damit ich nich vergesse den workaround rueckgaengig zu machen. Die libs werden einfach wieder zurueckkopiert, dann ist das System wieder i.o.rendegast hat geschrieben:In dem Readme sind dann noch 3 Zeilenbackups zurueckkopieren
mv libQtOpenGL.so.4.old libQtOpenGL.so.4
mv libQtGui.so.4.old libQtGui.so.4
EDIT: evtl. zum Verstaendnis. Dies ist mein repo von IfcPlusPlus auf das die Links zeigen. Der master branch ist fuer MacOSX und clang modifizierter Code mit CMakfiles. Der master branch ist meine Grundlage fuer die linuxbuilds (branch linuxbuild-qt4 und linuxbuild-qt5)
Zuletzt geändert von wartburgritter am 19.04.2014 12:32:46, insgesamt 2-mal geändert.
Stand März 2020:
Desktop Lenovo ThinkPad X1 mit Debian Buster (super kiste, aber der akku macht nach nunmehr 3 Jahren schlapp)
Fileserver veralte hardware mit neuer grosser hd mit Debian Lenny (ich sollte den wirklich mal ersetzen ... )
Mobiltelefon Sony Xperia mit SailfishOS
Tablet BQ aquaris M10 mit Ubuntu Touch
Desktop Lenovo ThinkPad X1 mit Debian Buster (super kiste, aber der akku macht nach nunmehr 3 Jahren schlapp)
Fileserver veralte hardware mit neuer grosser hd mit Debian Lenny (ich sollte den wirklich mal ersetzen ... )
Mobiltelefon Sony Xperia mit SailfishOS
Tablet BQ aquaris M10 mit Ubuntu Touch
-
- Beiträge: 269
- Registriert: 01.10.2005 16:45:42
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Winterthur, selten auch Eisenach
Re: qt5 linkt gegen qt4 lib
Bin ein Schritt weiter und habe ein Vermutung. Habe den branch linuxbuild-qt5 mal in einer minimalen VM uebersetzt, in der ich Qt4 gar nicht installiert habe, gleiche Problematik. Nur woher kommen die Qt4libs? Bin auf folgendes gestossen. Paket libopenscenegraph-dev haengt von Paket libopenscenegraph99 ab, welches wiederum von libqt4-opengl, libqtcore4 und libqtgui4 abhaengt. Somit ist klar wie die Qt4libs auf die Platte kommen. Kann es sein, dass openscenegraph nur mit Qt4 zusammenarbeitet und ich openscenegraph selber uebersetzen muesste um es gegen die Qt5libs linken zu lassen?!
Gerade noch bei Debian Sid geschaut, dort haengt libopenscenegraph99 auch von Qt4 ab.
gruss bernd
Gerade noch bei Debian Sid geschaut, dort haengt libopenscenegraph99 auch von Qt4 ab.
gruss bernd
Stand März 2020:
Desktop Lenovo ThinkPad X1 mit Debian Buster (super kiste, aber der akku macht nach nunmehr 3 Jahren schlapp)
Fileserver veralte hardware mit neuer grosser hd mit Debian Lenny (ich sollte den wirklich mal ersetzen ... )
Mobiltelefon Sony Xperia mit SailfishOS
Tablet BQ aquaris M10 mit Ubuntu Touch
Desktop Lenovo ThinkPad X1 mit Debian Buster (super kiste, aber der akku macht nach nunmehr 3 Jahren schlapp)
Fileserver veralte hardware mit neuer grosser hd mit Debian Lenny (ich sollte den wirklich mal ersetzen ... )
Mobiltelefon Sony Xperia mit SailfishOS
Tablet BQ aquaris M10 mit Ubuntu Touch
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: qt5 linkt gegen qt4 lib
Der einzige Teil von openscenegraph der Qt (4) linkt ist libosgQt, der ganze Rest ist unabhängig. Aber für eine Qt-Applikation ist das vermutlich genau das was benutzt wird
MfG Peschmä
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
-
- Beiträge: 269
- Registriert: 01.10.2005 16:45:42
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Winterthur, selten auch Eisenach
Re: qt5 linkt gegen qt4 lib
Laesst sich das genau bestaetigen, also feststellen was dafuer verantwortlich ist, dass libQtGui.so.4 verlinkt ist oder aufgerufen wird. In CMakeCache konnte ich nichts diesbezueglich finden. CMaklists.txt von IfcPlusPlus verweist nur auf Qt5 bibliotheken.peschmae hat geschrieben:Der einzige Teil von openscenegraph der Qt (4) linkt ist libosgQt, der ganze Rest ist unabhängig. Aber für eine Qt-Applikation ist das vermutlich genau das was benutzt wird ...
Stand März 2020:
Desktop Lenovo ThinkPad X1 mit Debian Buster (super kiste, aber der akku macht nach nunmehr 3 Jahren schlapp)
Fileserver veralte hardware mit neuer grosser hd mit Debian Lenny (ich sollte den wirklich mal ersetzen ... )
Mobiltelefon Sony Xperia mit SailfishOS
Tablet BQ aquaris M10 mit Ubuntu Touch
Desktop Lenovo ThinkPad X1 mit Debian Buster (super kiste, aber der akku macht nach nunmehr 3 Jahren schlapp)
Fileserver veralte hardware mit neuer grosser hd mit Debian Lenny (ich sollte den wirklich mal ersetzen ... )
Mobiltelefon Sony Xperia mit SailfishOS
Tablet BQ aquaris M10 mit Ubuntu Touch
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: qt5 linkt gegen qt4 lib
Naja, gelinkt wird die wohl nicht vom Programm (guck mal mit ldd was das alles linkt). Nur halt von libosgqt.
Ganz allgemein: mach mal einen Debug build von dem Programm, dann ist gdb auch ein bisschen gesprächiger und sagt dir wo im Quellcode er crasht...
MfG Peschmä
Ganz allgemein: mach mal einen Debug build von dem Programm, dann ist gdb auch ein bisschen gesprächiger und sagt dir wo im Quellcode er crasht...
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
-
- Beiträge: 269
- Registriert: 01.10.2005 16:45:42
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Winterthur, selten auch Eisenach
Re: qt5 linkt gegen qt4 lib
Ahh danke na klar ldd ... Hab ich vor jahren schon mal gebraucht. Waer ich jetzt wohl selber nie drauf gekommen.peschmae hat geschrieben:Naja, gelinkt wird die wohl nicht vom Programm (guck mal mit ldd was das alles linkt). Nur halt von libosgqt.
Hab ich doch schon, daher bin ich ueberhaupt auf die Probleme mit den librarys gekommen.peschmae hat geschrieben: Ganz allgemein: mach mal einen Debug build von dem Programm, dann ist gdb auch ein bisschen gesprächiger und sagt dir wo im Quellcode er crasht...
Habe auch im OSG Forum gepostet, da es wohl mit OSG zu tun hat. Aber in englisch ist alles noch viel schwieriger. http://forum.openscenegraph.org/viewtopic.php?t=13713
Code: Alles auswählen
$ ldd IfcPlusPlusViewer | grep libosgQt
libosgQt.so.99 => /usr/lib/libosgQt.so.99 (0x00007f5960fab000)
$ ldd /usr/lib/libosgQt.so.99 | grep Qt
libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007f7223e6e000)
libQtGui.so.4 => /usr/lib/x86_64-linux-gnu/libQtGui.so.4 (0x00007f72231c4000)
libQtOpenGL.so.4 => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4 (0x00007f7222ec6000)
Danke an alle die geholfen haben. Bernd
Stand März 2020:
Desktop Lenovo ThinkPad X1 mit Debian Buster (super kiste, aber der akku macht nach nunmehr 3 Jahren schlapp)
Fileserver veralte hardware mit neuer grosser hd mit Debian Lenny (ich sollte den wirklich mal ersetzen ... )
Mobiltelefon Sony Xperia mit SailfishOS
Tablet BQ aquaris M10 mit Ubuntu Touch
Desktop Lenovo ThinkPad X1 mit Debian Buster (super kiste, aber der akku macht nach nunmehr 3 Jahren schlapp)
Fileserver veralte hardware mit neuer grosser hd mit Debian Lenny (ich sollte den wirklich mal ersetzen ... )
Mobiltelefon Sony Xperia mit SailfishOS
Tablet BQ aquaris M10 mit Ubuntu Touch