Segmentation fault auf debain
Segmentation fault auf debain
Hallo,
ich habe nun eine funktionierende Terminal-Anwendung auf einem Ubuntu-System geschrieben und kompliiert. Die Anwendung läuft dort fehlerfrei. Wenn ich die Anwendung nun auf einen Debian-Server hochlade und ausführe kommt sofort "Segmentation fault".
Hab testweise auf Ubuntu dann noch ein einfaches Programm geschrieben (Hallo Welt). Auch das sorgt auf dem Debian-Server für die Fehlermeldung Segmentation fault. Hat jemand eine Ahnung was falsch läuft? Danke für die Hilfe
ich habe nun eine funktionierende Terminal-Anwendung auf einem Ubuntu-System geschrieben und kompliiert. Die Anwendung läuft dort fehlerfrei. Wenn ich die Anwendung nun auf einen Debian-Server hochlade und ausführe kommt sofort "Segmentation fault".
Hab testweise auf Ubuntu dann noch ein einfaches Programm geschrieben (Hallo Welt). Auch das sorgt auf dem Debian-Server für die Fehlermeldung Segmentation fault. Hat jemand eine Ahnung was falsch läuft? Danke für die Hilfe
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Segmentation fault auf debain
Wie wär's, wenn du die Anwendung unter Debian kompilierst?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Segmentation fault auf debain
Mhh bin leider bei Linux noch recht neu und bin schon heilfroh das ich das unter der graphischen Ubuntu-Oberfläche mit viel Einarbeitung hingebracht habe das Programm das ursprünglich von Windows kam dort zu kompilieren. Gibt es da keine andere (einfachere) Möglichkeit?
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Segmentation fault auf debain
Debian und Ubuntu sind zwar eng miteinander verwand, trotzdem ist es möglich, dass Binärprogramme nicht auf beiden Betriebssystemen laufen. In diesem Fall muss das Programm für jedes Betriebssystem neu übersetzt werden.Phil1977 hat geschrieben:Mhh bin leider bei Linux noch recht neu und bin schon heilfroh das ich das unter der graphischen Ubuntu-Oberfläche mit viel Einarbeitung hingebracht habe das Programm das ursprünglich von Windows kam dort zu kompilieren. Gibt es da keine andere (einfachere) Möglichkeit?
Die zusätzliche Installation von Debian (auf einer anderen Festplatte oder in einer Virtuellen Maschine) ist hier häufig die einfachste Möglichkeit - leider. Es gibt zwar ein paar andere Möglichkeiten, diese sind aber wesentlich aufwändiger, komplexer zu konfigurieren und fehleranfälliger.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Segmentation fault auf debain
Also ich kann mir den fall gerad nicht vorstellen Socke. In welchem Fall soll ein Binary auf Ubuntu und Debian auf der selben Architektur inkompatibel sein ?
Auch die Schutzverletzung spricht eher für einen programmierfehler als für ein symatisches Problem.
Auch die Schutzverletzung spricht eher für einen programmierfehler als für ein symatisches Problem.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: Segmentation fault auf debain
Könnte das ganze denn eventuell ein 32-bit/64-bit Problem sein? Das Programm wurde auf einem 32-bit Ubuntu kompiliert und auf dem 64-bit Debian läuft es jetzt nicht.
- af0815
- Lazarusforum e. V.
- Beiträge: 6774
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Segmentation fault auf debain
Verwendest du externe Bibliotheken? Oder verwenden die Komponenten die externe Bibliotheken verwenden?
Andi
Andi
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Segmentation fault auf debain
Das schlauste wäre zunächst mal GDB installieren und das Programm mit debuggerinformationen auf dem Server laufen lassen.
Benutzt du zufällig libs die die auf Ubuntu hattest aber nicht auf Debian? (z.B. wenn du Ubuntu mit KDE verwendet hast wird mit KDE QT installiert, wenn du jetzt eine QT anwendung gebaut hast, und auf dem Debian kein QT installiert hast könnte das so laufen, selbiges gilt natürlich auch für GTK)
Benutzt du zufällig libs die die auf Ubuntu hattest aber nicht auf Debian? (z.B. wenn du Ubuntu mit KDE verwendet hast wird mit KDE QT installiert, wenn du jetzt eine QT anwendung gebaut hast, und auf dem Debian kein QT installiert hast könnte das so laufen, selbiges gilt natürlich auch für GTK)
Re: Segmentation fault auf debain
Beispielsweise deshalb?Christian hat geschrieben:Also ich kann mir den fall gerad nicht vorstellen Socke. In welchem Fall soll ein Binary auf Ubuntu und Debian auf der selben Architektur inkompatibel sein ?
Auch die Schutzverletzung spricht eher für einen programmierfehler als für ein symatisches Problem.
Phil1977 hat geschrieben:Könnte das ganze denn eventuell ein 32-bit/64-bit Problem sein? Das Programm wurde auf einem 32-bit Ubuntu kompiliert und auf dem 64-bit Debian läuft es jetzt nicht.
Re: Segmentation fault auf debain
Danke für die Tipps! Ich habe das Programm jetzt auf debian mit gdb debugged und erhalte die Fehlermeldung: "not in executable format: File format not recognized"
Ich habe das Programm von Ubuntu auf den Debian-Server mit Filezilla hochgeladen und mit "777" als ausführbar markiert. Könnte beim hochladen vielleicht etwas schief gelaufen sein? Wie gesagt unter Ubuntu läuft das Programm fehlerfrei.Ich habe auf Ubuntu auch ein ganz einfaches "Hallo Welt" Programm geschrieben und auf den Debian-Server hochgeladen. Auch da gibt es den Fehler Segmentation fault. Wäre für Ideen dankbar.
Ich habe das Programm von Ubuntu auf den Debian-Server mit Filezilla hochgeladen und mit "777" als ausführbar markiert. Könnte beim hochladen vielleicht etwas schief gelaufen sein? Wie gesagt unter Ubuntu läuft das Programm fehlerfrei.Ich habe auf Ubuntu auch ein ganz einfaches "Hallo Welt" Programm geschrieben und auf den Debian-Server hochgeladen. Auch da gibt es den Fehler Segmentation fault. Wäre für Ideen dankbar.
-
- Beiträge: 320
- Registriert: Sa 21. Mär 2009, 17:31
- OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
- CPU-Target: 64 Bit
Re: Segmentation fault auf debain
Früher hatte man immer Probleme wenn FTP im Textmodus alle Zeilenenden ersetzt
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Segmentation fault auf debain
ist das die komplette ausgabe von gdb?
ich denke das ist immernoch ein 32/64 bit Problem
http://stackoverflow.com/questions/2754 ... recognized
file könnte helfen
https://de.wikipedia.org/wiki/File
ich denke das ist immernoch ein 32/64 bit Problem
http://stackoverflow.com/questions/2754 ... recognized
file könnte helfen
https://de.wikipedia.org/wiki/File
Re: Segmentation fault auf debain
Also ich habe mit Hilfe von "file" die Datei jetzt auf Ubuntu untersucht und habe folgende Ausgabe bekommen:
"Streamserver: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped"
Für mich stellt sich die Frage: Müssten für 32-bit kompilierte Programme nicht auch auf einem 64-bit Sytsem lauffähig sein? Unter Windows ist das ja auch kein Problem. Wie könnte ich das Programm denn mit Lazarus für 64-bit kompilieren?
"Streamserver: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped"
Für mich stellt sich die Frage: Müssten für 32-bit kompilierte Programme nicht auch auf einem 64-bit Sytsem lauffähig sein? Unter Windows ist das ja auch kein Problem. Wie könnte ich das Programm denn mit Lazarus für 64-bit kompilieren?
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Segmentation fault auf debain
Nein sind sie nicht denn 32bit programme brauchen 32bit bibliotheken. Die sind unter Linux nicht standardmässig mitinstalliert. Unter Windows ist dem so daher sicher auch deine vermutung.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: Segmentation fault auf debain
Danke für die Antworten! Ich habe jetzt mit Virtualbox ein 64-bit Ubuntu aufgesetzt und mein Programm dort kompiliert. Das Programm läuft in der Virtualbox jetzt auch mit 64-bit einwandfrei. Wenn ich das Programm samt den benötigten Bass-Bibliotheken auf den Debian-Server hochlade gibt es aber ein neues Problem. Ich starte das Programm (Rechte: 777) im Programmverzeichnis mit ./Streamserver und es kommt nur die Fehlermeldung "-bash: ./Streamserver: No such a file or directory"
Hat jemand eine Idee was da falsch läuft? Die Fehlermeldung scheint für mich zu besagen das die Datei garnicht da ist. Sie ist aber in den angegeben Verzeichnis und es liegt auch kein Schreibfehler vor. Debugging mit gdb bringt wieder die Fehlermeldung "not in executable format: File format not recognized" und die file-Funktion liefert als Ergebnis "Streamserver: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), stripped"
Ich weiß langsam echt nicht mehr weiter und wäre für weitere Tipps dankbar
Hat jemand eine Idee was da falsch läuft? Die Fehlermeldung scheint für mich zu besagen das die Datei garnicht da ist. Sie ist aber in den angegeben Verzeichnis und es liegt auch kein Schreibfehler vor. Debugging mit gdb bringt wieder die Fehlermeldung "not in executable format: File format not recognized" und die file-Funktion liefert als Ergebnis "Streamserver: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), stripped"
Ich weiß langsam echt nicht mehr weiter und wäre für weitere Tipps dankbar