Hanya memastikan saya sudah benar - saya menelepon
ldd /path/to/executable
dan mengembalikan "bukan eksekusi dinamis". Ini berarti bahwa itu tidak bergantung pada perpustakaan lain, benar? Jika demikian, apakah ini berarti bahwa itu dapat ditransfer ke kotak Ubuntu lain tanpa khawatir tentang ketergantungan?
compiling
shared-library
Jason
sumber
sumber
ldd
masih mencetak dependensi 32bit.@Calmarius benar, ini terjadi jika Anda mempertimbangkan exe 32bit, bahkan tanpa perpustakaan 32bit dasar.
Saya mencoba untuk memutakhirkan sistem saya (instalasi baru Ubuntu 16.04, dari 12.04), saya harus menginstal layanan 32bit lama yang menguntungkan
avserver
,, yang memerlukania32-libs
(tidak lagi tersedia). Ini berarti keduanyadpkg
danapt-get
tidak bahagia (apa pun yang saya lakukan, itu meminta saya untukapt-get -f install
, dan jika saya menjalankannya, itu menegaskan saya menghapus paket layanan), dan layanan saya tidak akan mulai.Untuk membuktikan bahwa ini adalah hilangnya 32bit libraries, saya telah menginstal sistem lama saya (Ubuntu 12.04, with
ia32-libs
dan 32bit libraries)/sda2
. Memastikan/opt
(berisi biner 32bit saya) sudah terpasang/sda2/opt
, saya bisachroot /sda2
danldd
kemudian berjalan sebagaimana dimaksud.Untuk memperbaikinya, saya bisa menginstal semua paket pustaka dependen secara manual dengan: i386 (arch). Namun saya memutuskan daripada mencoba mencari tahu apa dependensi saya, saya memasang anggur (yang sebagian besar 32bit, dan menginstal perpustakaan dasar dan memuat lebih banyak yang tidak saya perlukan, tapi saya setuju dengan itu).
Untuk memperbaiki
dpkg
danapt-get
, saya mengedit/var/lib/dpkg/status
, menemukan paket untuk layanan saya, dan menghapusia32-libs
. Sekarangdpkg
danapt-get
bahagiaItu dilakukan,
ldd
dengan senang hati melaporkan: -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)
sumber