Erhalten Sie ein 32-Bit-Programm für eine 64-BitLinux

Linux verstehen
Anonymous
 Erhalten Sie ein 32-Bit-Programm für eine 64-Bit

Post by Anonymous »

Ich versuche, eine ausführbare Datei auszuführen, die für 32-Bit-Linux kompiliert wurde, auf zwei Maschinen, die 64-Bit-Linux ausführen. Auf dieser Maschine läuft das Programm gut. Strace Ausgabe:

Code: Select all

execve("/path/to/myprog", ["/path/to/my"...], 0x7ffe85ce9790 /* 123 vars */) = 0
strace: [ Process PID=48362 runs in 32 bit mode. ]
brk(NULL)                               = 0x9940000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=198385, ...}) = 0
mmap2(NULL, 198385, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf775d000
close(3)                                = 0
openat(AT_FDCWD, "/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
< /code>
Auf der Maschine ohne Glibc 32-Bit schlägt dies sehr früh fehl: < /p>
execve("/path/to/myprog", ["/path/to/my"..., "2"], 0x7fff02cec1b8 /* 97 vars */) = -1 ENOENT (No such file or directory)
strace: exec: No such file or directory
Ich habe versucht, einen 32 -Bit -GLIBC zu erstellen und zu installieren und auf das LD_LIBRARY_PATH zu setzen, aber - ohne Erfolg; Es scheint, dass ich vor der Suche nach libc.so.6 .
Was, wenn überhaupt>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post