Seite 1 von 2
Executeable läuft nicht unter jeder Distribution?
Verfasst: 25.11.2012 17:39
von chrissi87
Hallo,
ich bin heute über folgendes Problem gestolpert, welches ich mir nicht wirklich erklären kann.
Unter Ubuntu Studio 12.04 32-bit habe ich mit PB 4.6 ein Tool kompiliert, welches ich zur freien Nutzung ins Netz gestellt habe.
Nun bekam ich eine Mail von einem Nutzer, der das Executable unter Ubuntu 10.04 nicht starten konnte.
Ich ging der Sache nach und musste feststellen, dass ich es unter Ubuntu 10.04 ebenso nicht starten kann.
Die Konsole meint nach Aufruf von ./Programmname:
bash: ./Programmname: Kann die Datei nicht ausführen
Versuche ich das selbe als root, kommt die folgende Meldung:
./Programmname: 1: Syntax error: ")" unexpected
Zwecks Debuggen, etc. habe ich das Tool anschließend unter Ubuntu 10.04 kompiliert - und es läuft problemlos.
Leider musste ich feststellen, dass das unter Ubuntu 10.04 funktionierende Executable unter Ubuntu Studio 12.04 ebenfalls nicht funktioniert
Vielleicht kann mir ja jemand helfen, die Ursache / Abhilfe für dieses Problem zu finden! Es ist jedenfalls schade, dass man nicht davon ausgehen kann, dass alle i386 Programme auch auf allen i386 Linux-Distries laufen.
LibGTK ist ja bei beiden Varianten von Haus aus dabei - und mein Tool nutzt keine speziellen Sachen.
Beste Grüße
Christian
Re: Executeable läuft nicht unter jeder Distribution?
Verfasst: 25.11.2012 18:29
von NicTheQuick
Das ist äußerst merkwürdig. Vor allem dieser Fehler klingt so als ob er versucht die Executable als Skript auszuführen.
./Programmname: 1: Syntax error: ")" unexpected
Wie hast du das Programm denn gestartet? Mit "bash Programmname"?
Oder hast du sie vorher mit "chmod +x Programmname" ausführbar gemacht und dann einfach nur "./Programmname" ausgeführt?
Re: Executeable läuft nicht unter jeder Distribution?
Verfasst: 25.11.2012 18:35
von chrissi87
Hallo,
ich habe Variante 2 bevorzugt. Sprich: das binary besitzt das "x" - Flag und ich starte das dann mittesl ./Programmname.
Beste Grüße!
Christian
Re: Executeable läuft nicht unter jeder Distribution?
Verfasst: 25.11.2012 19:07
von NicTheQuick
Trotzdem kann diese Fehlermeldung nur von einem Skriptinterpreter kommen. Kannst du mir diese Datei vielleicht mal schicken?
Re: Executeable läuft nicht unter jeder Distribution?
Verfasst: 25.11.2012 20:12
von chrissi87
Hi,
Quellcode oder die Executeable sind in gepackter Form unter:
http://www.sprut.de/electronic/soft/usb ... 386.tar.gz
erhältlich.
Das Tool nennt sich usburnGUI - start des gleichnamigen Programms.
Vielen Dank für deine Mühe! Wäre wirklich genial, wenn es hierfür ne plausible Lösung gäbe!
Beste Grüße
Christian
Re: Executeable läuft nicht unter jeder Distribution?
Verfasst: 25.11.2012 22:59
von NicTheQuick
Aha, cool. Für PICs. Hab bisher immer nur mit AVRs gebastelt.
Also die GUI funktioniert bei mir ohne Neukompilierung oder eines Syntaxfehlers und ich nutze Linux Mint 14 x64. Und dein Programm ist ja anscheinend für ein 32-Bit Ubuntu erstellt worden. Also ist es jetzt schon mal schwer etwas heraus zu finden, wenn der Fehler nicht auftritt.
Hast du mal beide Kompilate (von Ubuntu und Ubuntu Studio) Byte-weise verglichen?
Re: Executeable läuft nicht unter jeder Distribution?
Verfasst: 25.11.2012 23:38
von ts-soft
Getested unter Ubuntu 12.10 x86, entspricht Linux Mint 14.
Läuft nicht, Source läßt sich aber problemlos kompilieren.
Woran liegt es also? Ich denke mal, Linux Mint nutzt Gnome3 und
Ubuntu nutzt Unity und enthält kein Gnome3, sondern nur Gnome2.
Also brauchst Du für jede Processor-Architektur (x86 und x64), sowie für jede
Gnome Variante eine binary (insgesamt dann 4)
PS: Du solltest nicht allen Dateien ein ausführen-flag verpassen, hab mich erstmal
erschrocken, nachdem ich den Source doppelt angeklickt habe, hat sich nicht sofort die
PB-IDE gemeldet, sondern kam ein Dialog, ob ausführen oder anzeigen
Gruß
Thomas
Re: Executeable läuft nicht unter jeder Distribution?
Verfasst: 26.11.2012 17:18
von chrissi87
Hallo ts-soft,
ersteinmal vielen Dank fürs Testen!
Ich sag mal so: als work-around ... naja,
aber das kann doch nicht wirklich eine Lösung sein! Zumal: selbst wenn es tatsächlich an Gnome 2 / 3 liegen sollte, dann sollte ein Programm wohl trotzdem unter beiden Oberflächen laufen. Und sollten irgendwelche Librarys fehlen, dann kommen meistens Hinweise dazu via stderr-Pipe in die Konsole geflattert.
Außerdem hatte ich dieses Tool vor Jahren auch schon unter KDE und Lfce laufen.
Das Tool nutzt ja nicht mal irgendwelche recht spezifischen Sachen - das sind lediglich ein paar Gadgets in einem Fenster....
Schöne Grüße
Christian
Re: Executeable läuft nicht unter jeder Distribution?
Verfasst: 26.11.2012 17:25
von chrissi87
Hallo NicTheQuick,
Hab deinen Beitrag irgendwie übersehen *schäm*.
Ebenfalls herzlichen Dank fürs Testen!
Ich hab auch ne x64 Variante. Aber stimmt schon: wissenschaftlich nüchtern, vergleich - und reproduzierbar ist das dann wohl nicht.
Die Idee beide Executables Bit für Bit zu vergleichen ist nicht schlecht, aber ich gehe einmal davon aus, dass diese unterschiedlich sind. Und ehrlich gesagt fehlt mir der fachliche Hintergrund die Unterschiede zu analysieren.
Aber ich werde mich tatsächlich mal dran machen die files zu vergleichen.
PS:
Ja - ich bin bei PICs hängengeblieben. Hab deine / eure Seite über AVR, etc. gesehen - coole Sache!
Re: Executeable läuft nicht unter jeder Distribution?
Verfasst: 26.11.2012 17:44
von ts-soft
Ist kein WorkAround, ist einfach zwingend erforderlich, solange verschiedene Gnome-Versionen genutzt werden.
Zu Zeiten von Gnome 1 gab es ähnliche Probleme, das ist aber inzwischen verschwunden. Gnome 2 wird sicher
auch irgendwann verschwinden, aber ich denke, das kann noch etwas dauern. Gnome 3 wird von PB noch gar
nicht offiziell unterstützt, scheint aber die entsprechenden Libs zu nutzen, wenn nichts anderes aufzufinden ist.
Da können wir schon froh drüber sein.
Binarys, die auf allen Linux-Distributionen laufen, zu erstellen, ist vom Linux-Konzept einfach nicht vorgesehen.
Auf MacOS muß man sich auch für entweder Kohle (Carbon) oder Kakao (Cacoa) entscheiden
