Segmentation fault

Alles rund um die Programmierung mit Qt
Antworten
Campino
Beiträge: 10
Registriert: 30. September 2006 03:34

Segmentation fault

Beitrag von Campino »

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
sowas
Beiträge: 105
Registriert: 19. September 2006 16:02

Segmentation fault

Beitrag von sowas »

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.
Campino
Beiträge: 10
Registriert: 30. September 2006 03:34

Segmentation fault

Beitrag von Campino »

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?
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Re: Segmentation fault

Beitrag von pfid »

Campino 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?
Das vielleicht. Aber du benutzt "irgendwas mit qt2" libraries, wenns die falschen sind, läufts nicht ;)

Schau doch mal mit ldd drauf, welche libs er will.
Campino
Beiträge: 10
Registriert: 30. September 2006 03:34

Segmentation fault

Beitrag von Campino »

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?
Antworten