ELF 32-bit LSB executable unter 64Bit Debian ausführen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
inne
Beiträge: 3293
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

ELF 32-bit LSB executable unter 64Bit Debian ausführen

Beitrag von inne » 26.07.2013 23:58:39

Hallo,

kann man 32Bit -Programme nun unter einem 64Bit Debian ausführen?

Reicht es hier APT um i386 zu erweitern und die ia-libs und weitere zu installieren? Z.Z. kommt immer noch ein Datei oder Verzeichnis nicht gefunden:

tux@debian:~$ ./programm
bash: ./programm: Datei oder Verzeichnis nicht gefunden
tux@debian:~$ file ./programm
./programm: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, BuildID[sha1]=0x8a67fbf6fcfef48ff182dfa0c75bcd8e3ca33f14, not stripped

Was ist der Trick?

inne

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: AW: ELF 32-bit LSB executable unter 64Bit Debian ausführ

Beitrag von smutbert » 27.07.2013 00:09:10

Im großen und ganzen ein ja auf alle fragen.

i386 kannst du mit dpkg --add-architecture i386 "aktivieren". Nach dem nächsten apt-get update stehen dir alle i386 Pakete zur Verfügung.

wanne
Moderator
Beiträge: 7623
Registriert: 24.05.2010 12:39:42

Re: ELF 32-bit LSB executable unter 64Bit Debian ausführen

Beitrag von wanne » 27.07.2013 00:34:51

Man kann 32-Bit executables eigentlich immer ausführen in einem 64Bit system wenn die entsprechenden libs fehlen gibt es allenfalls probleme mit dem Linken.
Datei oder Verzeichnis nicht gefunden kommt eigentlich nur wenn es die datei nicht gibt.
Selbst wenn die datei völliger müll ist kommt da Kann die Datei nicht ausführen und auch bei falschen berechtigungen gibt's solche fehlermeldungen eigentlich nicht:

Code: Alles auswählen

$ dd if=/dev/urandom count=1 > testdat
1+0 Datensätze ein
1+0 Datensätze aus
512 Bytes (512 B) kopiert, 0,000316225 s, 1,6 MB/s
$ ./testdat
bash: ./testdat: Kann die Datei nicht ausführen.
$ chmod -x ./testdat 
$ ./testdat
bash: ./testdat: Keine Berechtigung
$ chmod +x ./testdat
$ chmod 055 .
$ ./testdat 
bash: ./testdat: Keine Berechtigung
$ chmod 155 .
$ ./testdat 
bash: ./testdat: Kann die Datei nicht ausführen.
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: AW: ELF 32-bit LSB executable unter 64Bit Debian ausführ

Beitrag von smutbert » 27.07.2013 00:43:40

Hm, damit hab' ich mich zwar noch nicht intensiver beschäftigt, aber die nicht gefunden Meldung kenne ich auch von 32bit Programmen auf 64bit Systemen ohne 32bit Bibliotheken. Nach deren Installation hat es geklappt.

inne
Beiträge: 3293
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: ELF 32-bit LSB executable unter 64Bit Debian ausführen

Beitrag von inne » 27.07.2013 00:48:14

Ja es fehlten noch 32Bit Komponenten.

Ist ganz hilfreich:
objdump -p Pfad/zur/Programmdatei | grep NEEDED

wanne
Moderator
Beiträge: 7623
Registriert: 24.05.2010 12:39:42

Re: ELF 32-bit LSB executable unter 64Bit Debian ausführen

Beitrag von wanne » 27.07.2013 05:01:16

Das ist einbisschen mit Kanonen auf spatzen geschossen.
ldd Pfad/zur/Programmdatei
zeigt dir an was fehlt. (Überall wo kein Peil auf irgendwas zeigt haperts.)
rot: Moderator wanne spricht, default: User wanne spricht.

inne
Beiträge: 3293
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: ELF 32-bit LSB executable unter 64Bit Debian ausführen

Beitrag von inne » 27.07.2013 05:53:33

Das ist sogar besser, da man es dahin filtern kann was noch fehlt. Nicht was alles benötigt wird:

ldd ... | grep "not found"

Zu automatisieren gibt es da nix um Debian amd64 "praxistauglich" fit für 32Bit Anwendungen zu machen?
Ich muss nun noch z.B. 10 weitere (und wohl noch einige mehr) libs in der 32Bit Version (nach) installieren. Kann hier APT nicht mitdenken und alles was ich schon in 64Bit habe in 32Bit nachinstallieren?

Edit: Okay, einiges erschlagen die Abhänigkeiten...

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: ELF 32-bit LSB executable unter 64Bit Debian ausführen

Beitrag von peschmae » 27.07.2013 11:54:28

Da bist du wohl der Einzige der sowas will, dass apt einfach los läuft und wie wild Sachen installiert die man nicht braucht - ich habe sooooo viel mehr Bibliotheken in 64 bit installiert als die paar in 32 bit die ich für die eine oder andere hinter dem Mond lebende Anwendung noch brauche (ja, Android SDK, ich spreche von dir!).

Erreichen kannst du das natürlich problemlos:

Code: Alles auswählen

dpkg --get-selections | grep :amd64 | grep install | sed 's#:amd64.*$#:i386#' | xargs apt-get install
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Antworten