Uralt Software zum laufen bringen?

marcellus

marcellus

Kaiser
Solved: Uralt Software zum laufen bringen?

Ich hab hier ein Programm herumliegen, dass ich zum laufen bekommen will, aber es ist etwas sagen wir eigen.

Es ist ansich ein 32bit programm und ich hab hier ein 64bit monolib system, aber ich hab die ia32 emulaton im kernel aufgedreht. Da es nicht dynamisch gelinkt ist sollte es ja gehen

Code:
$ ldd install
	not a dynamic executable

Wenn ich probiere es auszuführen bekomme ich:

Code:
$ ./install 
bash: ./install: No such file or directory

Ein strace sagt:

Code:
$ strace ./install
execve("./install", ["./install"], [/* 44 vars */]) = -1 ENOENT (No such file or directory)
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f224fd5a000
lseek(3, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
close(3)                                = 0
munmap(0x7f224fd5a000, 4096)            = 0
exit_group(1)                           = ?

Das check ich ja schon gar nicht, der exec aufruf meldet, dass es die datei nicht gibt.
Dann wird mit dup(2) denk ich der stdout filestream dupliziert, was das mit fstat soll weiß ich beim besten willen nicht. Zu allem überfluss wird dann noch der duplizierte stdout auf die aktuelle position gespult, was dann letztendlich nicht funktioniert.:think:

Zu allem überfluss

Code:
$ file install
install: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped

laut dem ist es dynamisch gelinkt, aber laut ldd nicht? Kann das was damit zu tun haben, dass es für den Linux kernel 2.2.5 kompiliert wurde?

Ich bin unter Linux erst seit version 2.6 unterwegs, ich hab also keine Ahnung, wies vorher ausgesehen hat.

Hat vielleicht jemand Vorschläge, wie ich weiter vorgehen kann?

Ich bin mir nicht sicher, ob ich die binary hergeben darf. Ehrlichgesagt bin ich mir nicht einmal sicher, ob ich sie haben darf, die Windows user hier gehen alle recht großzügig mit softwarelizenzen um.
 
Zuletzt bearbeitet:
Nur weil es statisch verlinkt ist, ist sie dennoch vom Kernel abhaengig, und die API hat sich doch schon um einiges geaendert. Wenn ich eine 64-bit executable auf ein 32-bit System kopiere, bekomme ich von ldd die gleiche Meldung, dass es keine dynamisch ausfuehrbare Datei sei, obwohl file mir etwas anderes erzaehlt, mit strace ist es aehnlich, so dass das Phaenomen wohl damit zusammenhaengt, dass der Kernel mit der Datei nichts anfangen kann.
Du kannst Dir ja ein altes Linux in einer virtuellen Umgebung installieren.
 
die 32-bit-Libs hast Du aber installiert?

Die 32bit bibliotheken sind nicht oben, auf multilib wechseln und alles neu kompilieren ist mir aber zu viel arbeit, ich werd eine vm aufsetzen und es dort noch einmal austesten.

Nur weil es statisch verlinkt ist, ist sie dennoch vom Kernel abhaengig, und die API hat sich doch schon um einiges geaendert. Wenn ich eine 64-bit executable auf ein 32-bit System kopiere, bekomme ich von ldd die gleiche Meldung, dass es keine dynamisch ausfuehrbare Datei sei, obwohl file mir etwas anderes erzaehlt, mit strace ist es aehnlich, so dass das Phaenomen wohl damit zusammenhaengt, dass der Kernel mit der Datei nichts anfangen kann.
Du kannst Dir ja ein altes Linux in einer virtuellen Umgebung installieren.

Ich dachte mit der ia32 emulation im kernel sollte die 32bit api gleich einem 32bit kernel sein, oder hängt das damit zusammen, dass die linux 2.2er api anders ist, als die 2.6er?

Ich dachte elf=elf, oder hat sich der standard auch zwischendurch geändert?

Auf http://virtualboxes.org/ gibts sogar ein debian 3 image :D

Schauen wir mal
 
ist ja schön und gut, daß der Proz. auch eine 32-Bit-Engine drin hat - aber wenn dem System die entsprechenden Bibliotheken fehlen, kann es halt nun mal keine 32-Bit-SW ausführen.

Installier also die entsprechenden Bibliotheken - vielleicht geht es dann ja.
 
@marce wenn das programm statisch gelinkt ist brauch ich ja keine anderen bibliotheken.
Ich find es schon sehr eigenartig wie das ding sich bibliotheken schnappt

Ich hab das ganze jetzt in einer ubuntu vm zum laufen bekommen, danke für die Hilfe, da das Programm anscheinend root rechte braucht bin ich eh froh, dass es nicht auf meinem normalen system läuft.
 

Ähnliche Themen

Ich mag Dovecot nicht ...

./easy-wi_install.sh install Script

Pacemaker XEN HA

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

NagiosGrapher 1.7.1 funktioniert nicht

Zurück
Oben