PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Binärkompatibilität von Linux...


Benedikt
2004-02-22, 13:54:00
Hi Leute,

hab' mal eine Frage:
Sind ELF-Executables (sagen wir mal zwecks Einfachheit eine Konsolen-Applikation) unter Linux von einer Distribution zur nächsten binärkompatibel?
Kann ich eine Anwendung, die unter Debian kompiliert wurde, unter z. B. Fedora ohne weiteres ausführen?
Wie sieht's mit FreeBSD aus, hat das nicht so eine Art Linux-Kompatibilitätsschicht oder so?

MFG,
BW

Exxtreme
2004-02-22, 14:36:45
Original geschrieben von Benedikt
Hi Leute,

hab' mal eine Frage:
Sind ELF-Executables (sagen wir mal zwecks Einfachheit eine Konsolen-Applikation) unter Linux von einer Distribution zur nächsten binärkompatibel?
Kann ich eine Anwendung, die unter Debian kompiliert wurde, unter z. B. Fedora ohne weiteres ausführen?
Wie sieht's mit FreeBSD aus, hat das nicht so eine Art Linux-Kompatibilitätsschicht oder so?

MFG,
BW
Wenn man die Voraussetzungen (in Form von Libs) erfüllt, sind alle ELF-Binaries distributionsübergreifend kompatibel. Ausser die Distri unterstützt keine ELF-Binaries. Und wie es bei FreeBSD aussieht weiss ich nicht.

cyjoe
2004-02-22, 14:40:27
Für Free BSD gibt es glaub ich extra einen Emulator. Also binärkompatibel isses wahrscheinlich nicht mit linux.

Benedikt
2004-02-22, 16:03:03
Original geschrieben von Exxtreme
Wenn man die Voraussetzungen (in Form von Libs) erfüllt, sind alle ELF-Binaries distributionsübergreifend kompatibel. Ausser die Distri unterstützt keine ELF-Binaries. Und wie es bei FreeBSD aussieht weiss ich nicht.

Muss man dann in dem Fall, den du ansprichst, genau dieselben Libs installiert haben, oder ist das ganze abwärtskompatibel?

MFG,
BW

Exxtreme
2004-02-22, 17:12:47
Original geschrieben von Benedikt
Muss man dann in dem Fall, den du ansprichst, genau dieselben Libs installiert haben, oder ist das ganze abwärtskompatibel?

MFG,
BW
Das ganze ist normalerweise aufwärtskompatibel. Also wenn das Binary gegen eine ältere Version einer Lib kompiliert wurde dann sollte es auch mit einer neueren Version funktionieren. Eine große Ausnahme war glibc5 vs. glibc6. Da wurde die Binärkompatibilität gebrochen.

Wenn man sich unsicher ist dann besorgt man sich die Sourcen kompiliert zur Not selbst.

imagine
2004-02-22, 19:07:58
Zu FreeBSD schau mal hier -> http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/linuxemu.html

Benedikt
2004-02-22, 20:03:27
Original geschrieben von Exxtreme
Das ganze ist normalerweise aufwärtskompatibel. Also wenn das Binary gegen eine ältere Version einer Lib kompiliert wurde dann sollte es auch mit einer neueren Version funktionieren. Eine große Ausnahme war glibc5 vs. glibc6. Da wurde die Binärkompatibilität gebrochen.

Wenn man sich unsicher ist dann besorgt man sich die Sourcen kompiliert zur Not selbst.

sorry..natürlich... aufwärtskompatibel (bring ich immer durcheinander) :)


Und Imagine, danke für den Link!

MFG,
BW

Nagilum
2004-02-23, 22:59:33
Original geschrieben von Benedikt
Kann ich eine Anwendung, die unter Debian kompiliert wurde, unter z. B. Fedora ohne weiteres ausführen?

Binärkompatibel sind sie, ja.

Aber Dank der Bibliothekenflut unter Linux wirds trotzdem schwer. Es hängt halt vor allem davon ab, gegen was und wieviel du dynamisch linkst. Spätestens wenn KDE/GNOME ins Spiel kommen, stehen die Chancen eher schlecht.

Lokadamus
2004-02-24, 01:34:22
mmm...

Ich würde es mal so sagen, im Allgemeinen nein, liegt daran, dass je nach Distri immer wieder am Kernel rumgepfuscht wird, wodurch eine Binärkompatibilität nicht mehr gewährleistet werden kann ... bei FreeBSD ist es auch nur eine Glückssache, ob die Software läuft oder nicht, einiges soll wunderbar laufen, bei anderen Sachen wird das ganze System heruntergerissen ...

Exxtreme
2004-02-24, 09:30:57
Original geschrieben von Lokadamus
mmm...

Ich würde es mal so sagen, im Allgemeinen nein, liegt daran, dass je nach Distri immer wieder am Kernel rumgepfuscht wird, wodurch eine Binärkompatibilität nicht mehr gewährleistet werden kann ... bei FreeBSD ist es auch nur eine Glückssache, ob die Software läuft oder nicht, einiges soll wunderbar laufen, bei anderen Sachen wird das ganze System heruntergerissen ...
Naja, die "Kernelpfuscherei" beschränkt sich meist auf irgendwelche Treiber. Normalerweise sind die Binaries zueinander kompatibel. Ich habe bei meiner Linuxinstallation 3 Kernel zur Auswahl X-D und bis auf die Treiber von ATi (Kernelmodule und somit kernelabhängig) läuft bei mir alles ohne Probleme. Ich musste noch nie was neu kompilieren.