Seite 2 von 2

Re: Executeable läuft nicht unter jeder Distribution?

Verfasst: 26.11.2012 18:01
von chrissi87
Hallo ts-soft,

mhh - das stimmt mich wenig optimistisch, das Problem auf einfache Weise in den Griff zu bekommen .... ich müsste ja dann für Gnome 2 / 3 ein gesondertes System / VM herrichten.... somit also 4 Varianten pflegen.

Naja - mal schauen....

Vielen Dank für die schnelle Antwort.

Beste Grüße
Christian

Re: Executeable läuft nicht unter jeder Distribution?

Verfasst: 26.11.2012 18:06
von ts-soft
Ich habe meine Crossplattform Sourcen meist auf meinem DropBox Account. Somit hab ich den aktuellen Source auf jeder
Plattform zur Verfügung. Binaries muß ich natürlich trotzdem auf jeder Plattform erstellen, aber dank DropBox ist es nicht
ganz so aufwendig, wenigstens der Source wird automatisch synchronisiert :wink:

Re: Executeable läuft nicht unter jeder Distribution?

Verfasst: 26.11.2012 18:12
von chrissi87
Danke für den Tipp!

Ich werde wohl in den Apfel beißen müssen - auch wenn mich heut schon der Aufwand für i386/x64 nervt ... ;-)

Herzlichen Schrank, nochmal!

Re: Executeable läuft nicht unter jeder Distribution?

Verfasst: 01.12.2012 11:29
von SoS
Wenn man ein reines 64bit System installiert hat (also kein Multilib) laufen keine 32bit Anwendungen.
Hab ich letztens erst irgendwo gelesen und klingt auch logisch. Ich hab multilib und bei mir läuft
die Gui ohne zu meckern.

Re: Executeable läuft nicht unter jeder Distribution?

Verfasst: 28.01.2013 17:20
von Shardik
ts-soft hat geschrieben:Getested unter Ubuntu 12.10 x86, entspricht Linux Mint 14.
Läuft nicht, Source läßt sich aber problemlos kompilieren.
Und warum läßt sich das Lademodul nicht starten? Weil der Link von chrissi87 die ausführbare Datei usburnGUI als x64-Version zur Verfügung stellt. Wie soll die auch unter x86 laufen? :mrgreen:

Dies hätte man leicht folgendermaßen herausfinden können:

Code: Alles auswählen

> file usburnGUI
> usburnBUI: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15,...
Wenn man den Sourcecode aus dem von chrissi87 zur Verfügung gestellten Archiv unter Ubuntu 12.04 x86 kompiliert, so läuft die ausführbare Datei problemlos unter den folgenden von mir getesteten x86-Distributionen:
- Fedora 17
- andLinux/Kubuntu 9.04
- Kubuntu 10.04 LTS
- Kubuntu 12.10
- Linux Mint 12
- Linux Mint 14 "Cinnamon"
- Lubuntu 12.10
- OpenSUSE 11.4
- OpenSUSE 12.2
- Ubuntu 10.04 LTS
- Ubuntu 12.04 LTS
- Ubuntu 12.10
- Xubuntu 10.04 LTS
- Xubuntu 12.10

Es ist also keinesfalls nötig 4 Varianten zu pflegen, sondern lediglich 2 (für x86 und x64)!
ts-soft hat geschrieben:Ist kein WorkAround, ist einfach zwingend erforderlich, solange verschiedene Gnome-Versionen genutzt werden.
So entstehen Mythen, die einfach nicht stimmen... :mrgreen:
ts-soft hat geschrieben:Auf MacOS muß man sich auch für entweder Kohle (Carbon) oder Kakao (Cacoa) entscheiden :mrgreen:
Das stimmt, aber man muß sich keine Gedanken darüber machen, ob die beiden Frameworks auch installiert sind, weil sie zumindest bis zur aktuellen Version 10.8 (Mountain Lion / Berglöwe) beide vorhanden sind.

Re: Executeable läuft nicht unter jeder Distribution?

Verfasst: 28.01.2013 17:41
von ts-soft
Das Problem ist ja auch Gnome und nicht GTK. Unter Deiner Aufzählung sind ja fast
nur Gnome 2 Distributionen. Compiliere mal unter Gnome 3 und lasse es auf einer
Gnome 2 Distribution laufen. Ich hab da im moment leider keine Testmöglichkeit.

Gruß
Thomas

Re: Executeable läuft nicht unter jeder Distribution?

Verfasst: 28.01.2013 18:44
von Shardik
ts-soft hat geschrieben:Das Problem ist ja auch Gnome und nicht GTK. Unter Deiner Aufzählung sind ja fast
nur Gnome 2 Distributionen.
Das stimmt leider nicht! Nur 2 der 14 Distributionen verwenden Gnome 2 bzw. einen Fork von Gnome 2!

Hier sind die zugrunde liegenden Desktop-Manager der von mir verwendeten Distributionen:
Fedora: Gnome 3
Kubuntu: KDE
Linux Mint 12: Gnome 2 Fork MATE
Linux Mint 14: Gnome 3 Fork Cinnamon
Lubuntu: LXDE
OpenSUSE: KDE
Ubuntu 10.04: Gnome 2
Ubuntu 12.04 und 12.10: Unity
Xubuntu: Xfce

KDE (K Desktop Environment) verwendet als einziger Desktop-Manager nicht GTK+, sondern Qt als Oberflächen-Bibliothek. Bei den meisten Distributionen mit KDE ist aber GTK+ auch installiert, eine große Ausnahme stellt Chakra dar:
c't 4/2013, S. 62 hat geschrieben:Die Distribution verfügt über eigene Paketquellen und verzichtet darin völlig auf GTK-Anwendungen.
ts-soft hat geschrieben:Compiliere mal unter Gnome 3 und lasse es auf einer
Gnome 2 Distribution laufen. Ich hab da im moment leider keine Testmöglichkeit.
OK, ich werde morgen im Büro einmal unter Fedora 17 kompilieren und über die Ergebnisse bei den anderen Distros berichten.

Re: Executeable läuft nicht unter jeder Distribution?

Verfasst: 28.01.2013 20:33
von fsw
Bin gespannt auf das Ergebnis :allright:

Dankeschoen im voraus <)

Re: Executeable läuft nicht unter jeder Distribution?

Verfasst: 29.01.2013 10:48
von Shardik
ts-soft hat geschrieben:Das Problem ist ja auch Gnome und nicht GTK.
Das Problem ist nicht Gnome oder ein anderer Desktop-Manager, sondern lediglich, ob die GTK2-Bibliotheken installiert sind (was bei den meisten Distributionen wegen der Kompatibilität zu älteren Programmen, die noch GTK2 statt GTK3 nutzen, sowieso der Fall sein dürfte). Natürlich habe ich auf meinem Testrechner mit 20 verschiedenen Linux-Distributionen überall die für die Entwicklung mit PureBasic nötigen GTK2-Bibliotheken installiert. Als weiteren Test müßte man daher usburnGUI auch einmal nach dem Start einer Live-CD oder einer frisch installierten Standardinstallation starten...

Ich habe Deinem Wunsch entsprochen und die Source-Dateien von chrissi87 unter Fedora 17 (mit Gnome 3) mit PB 5.00 x86 kompiliert. Unter den folgenden getesteten x86-Distributionen läßt sich die kompilierte Binärdatei usburnGUI problemlos starten:
- Fedora 17 (Gnome 3)
- Linux Mint 14 (Cinnamon)
- Kubuntu 12.10 (KDE)
- Lubuntu 12.10 (LXDE)
- Ubuntu 10.04 (Gnome 2)
- Ubuntu 12.10 (Unity)
- Xubuntu 10.04 (Xfce)

Ergänzung:
Ich habe einmal Kubuntu 12.10 (KDE) von der Installations-CD als Live-System gestartet. Beim Start von usburnGUI wird folgende Fehlermeldung ausgegeben:
/media/PureBasic/usburn/usburnGUI hat geschrieben:error while loading shared libraries: libgtk-x11-2.0.so.0
Eine weitergehende Analyse mit

Code: Alles auswählen

ldd /media/PureBasic/usburn/usburnGUI
zeigt zwei Bibliotheken, die nicht gefunden werden:
ldd /media/PureBasic/usburn/usburnGUI hat geschrieben:libgtk-x11-2.0.so.0 => not found
libgdk-x11-2.0.so.0 => not found
So habe ich usburnGUI im Live-Systen Kubuntu 12.10 schließlich zum Laufen gebracht:
> sudo apt-get install libgtk2.0-0
Damit werden die folgenden GTK2-Bibliotheken installiert:
- libgtk2.0-0
- libgtk2.0-bin
- libgtk2.0-common

Nach der Installation läßt sich usburnGUI über Dolphin durch Anklicken des Icon oder über die Konsole starten.

In folgenden von CD/DVD gestarteten x86 Live-Systemen läßt sich usburnGUI problemlos starten (GTK2-Bibliotheken sind vorinstalliert):
- Fedora 18 (Gnome 3)
- Knoppix 7.0.5 (LXDE)
- Linux Mint 14 (Cinnamon)
- Lubuntu 12.10 (LXDE)
- Ubuntu 12.10 (Unity)
- Xubuntu 12.10 (Xfce)