@Calmarius ist korrekt. Dies geschieht, wenn Sie eine 32-Bit-Exe ohne grundlegende 32-Bit-Bibliotheken in Betracht ziehen.
Ich versuche, mein System zu aktualisieren (eine Neuinstallation von Ubuntu 16.04 von 12.04). Ich muss einen alten versöhnenden 32-Bit-Dienst installieren avserver
, der dies erfordert ia32-libs
(nicht mehr verfügbar). Dies bedeutet beides dpkg
und apt-get
ist unglücklich (was auch immer ich tue, es fordert mich dazu auf apt-get -f install
, und wenn ich das ausführe, besteht es darauf, dass ich das Servicepaket deinstalliere), und mein Service wird nicht gestartet.
Um zu beweisen, dass dies auf fehlende 32-Bit-Bibliotheken zurückzuführen ist, habe ich mein altes System (Ubuntu 12.04 mit ia32-libs
und 32-Bit-Bibliotheken) gemountet /sda2
. Wenn /opt
ich sicher /sda2/opt
bin, dass (mit meiner 32-Bit-Binärdatei) eingebunden ist , kann ich chroot /sda2
und kann ldd
dann wie vorgesehen ausgeführt werden.
Um dies zu beheben, hätte ich alle abhängigen Bibliothekspakete manuell installieren können mit: i386 (arch). Ich habe mich jedoch entschieden, anstatt herauszufinden, was meine Abhängigkeiten waren, Wein zu installieren (der meistens 32-Bit ist, und so die Basisbibliotheken und eine Menge mehr zu installieren, die ich nicht wirklich brauche, aber damit bin ich einverstanden).
Zum Reparieren dpkg
und apt-get
Bearbeiten habe /var/lib/dpkg/status
ich das Paket für meinen Dienst gefunden und entfernt ia32-libs
. Jetzt dpkg
und apt-get
sind glücklich
Das getan, ldd
berichtet glücklich: -
root@withnail:/opt/<service path># ldd avserver
linux-gate.so.1 => (0xf77a6000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf778f000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7772000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xf776b000)
libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xf7752000)
libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xf7720000)
libktssl.so.1.0.0 => /opt/<service path>/libktssl.so.1.0.0 (0xf76cb000)
libktcrypto.so.1.0.0 => /opt/<service path>/libktcrypto.so.1.0.0 (0xf756b000)
libktz.so.1 => /opt/<service path>/libktz.so.1 (0xf7558000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf754f000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf73d8000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7383000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7366000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf71af000)
/lib/ld-linux.so.2 (0x565b1000)