Ich stelle nur sicher, dass ich das richtig verstanden habe - ich rufe an
ldd /path/to/executable
und es gibt "keine dynamische ausführbare Datei" zurück. Dies bedeutet, dass es nicht von anderen Bibliotheken abhängt, richtig? Wenn ja, bedeutet dies, dass es auf eine andere Ubuntu-Box übertragen werden kann, ohne sich um Abhängigkeiten sorgen zu müssen?
quelle
ldd
immer noch die 32-Bit- Abhängigkeiten gedruckt.@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 erfordertia32-libs
(nicht mehr verfügbar). Dies bedeutet beidesdpkg
undapt-get
ist unglücklich (was auch immer ich tue, es fordert mich dazu aufapt-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 ichchroot /sda2
und kannldd
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
undapt-get
Bearbeiten habe/var/lib/dpkg/status
ich das Paket für meinen Dienst gefunden und entferntia32-libs
. Jetztdpkg
undapt-get
sind glücklichDas 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)
quelle