hallo zusammen, ich versuche gerade ein altes qt programm zum laufen zu bekommen. aber leider habe ich den quellcode nicht mehr und ich weiss auch nicht mehr in welche qt version das programm programmiert wurde. ich weiss nur das es irgendwas mit qt2 gewesen sein muss. wenn ich mein prgramm mit ./MedApp starte bekomme ich ein Segmentation fault. wenn ich mit dem gdb das ganze debugge bekomme ich folgende meldung:
Program received signal SIGSEGV, Segmentation fault.
0xb7da60ac in QWidget::minimumSize () from libqt.so.2
probiert habe ich das ganze mit folgenden libs:
libqt.so.2.2,libqt.so.2.2.3 ,libqt.so.2.3,libqt.so.2.3.1
ich wäre euch sehr verbunden wenn mir jemand helfen könnte.
grüße
david
Segmentation fault
Segmentation fault
hallo,
ohne Quellcode kann man es nicht herausfinden.
Seit der Qt.2 wurden die Parameterübergabe mehrmals geändert z.B.
könnte sein, dass in qt2 string(int,string) benötigte und qt4 string(string,int) erwartet
oder Überlauf von arrays usw. usw. und wenn das programm trotzdem starten sollte dann kann es Segmentation fault geben.
ohne Quellcode kann man es nicht herausfinden.
Seit der Qt.2 wurden die Parameterübergabe mehrmals geändert z.B.
könnte sein, dass in qt2 string(int,string) benötigte und qt4 string(string,int) erwartet
oder Überlauf von arrays usw. usw. und wenn das programm trotzdem starten sollte dann kann es Segmentation fault geben.
Segmentation fault
Das kann schon sein, aber ich benutze doch eine alte qt2 bibliothek...müsste doch dann beispielsweise das problem der parameter übergabe lösen oder?
Re: Segmentation fault
Das vielleicht. Aber du benutzt "irgendwas mit qt2" libraries, wenns die falschen sind, läufts nichtCampino hat geschrieben:Das kann schon sein, aber ich benutze doch eine alte qt2 bibliothek...müsste doch dann beispielsweise das problem der parameter übergabe lösen oder?
Schau doch mal mit ldd drauf, welche libs er will.
Segmentation fault
Ich habe jetzt nochmal qt2 selber kompiliert jetzt bekomme ich den fehler
share/MedApp/MedApp: undefined symbol: __ti7QWidget
Program exited with code 0177.
(gdb) bt
No stack.
ldd says:
linux-gate.so.1 => (0xb7ee9000)
libqt.so.2 (0xb7bb1000)
libstdc++-libc6.2-2.so.3 (0xb7b69000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7b2d000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb79ca000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb79ba000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb78cb000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb77dc000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb77cd000)
/lib/ld-linux.so.2 (0xb7eea000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb77c8000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb77ae000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb77aa000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb77a5000)
scheint als ob er libqt.so.2 nicht kennt...aber es existiert ein softlink von libqt.so.2.0 -> libqt.so.2.0.2 welches in meiner programm ordner liegt. durch ein export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:. habe ich das dem ld path bekannt gegeben
hm...und nu?
share/MedApp/MedApp: undefined symbol: __ti7QWidget
Program exited with code 0177.
(gdb) bt
No stack.
ldd says:
linux-gate.so.1 => (0xb7ee9000)
libqt.so.2 (0xb7bb1000)
libstdc++-libc6.2-2.so.3 (0xb7b69000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7b2d000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb79ca000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb79ba000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb78cb000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb77dc000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb77cd000)
/lib/ld-linux.so.2 (0xb7eea000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb77c8000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb77ae000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb77aa000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb77a5000)
scheint als ob er libqt.so.2 nicht kennt...aber es existiert ein softlink von libqt.so.2.0 -> libqt.so.2.0.2 welches in meiner programm ordner liegt. durch ein export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:. habe ich das dem ld path bekannt gegeben
hm...und nu?