Secara umum, ketika Anda mendapatkan kesalahan seperti ini, lakukan saja
yum provides ld-linux.so.2
maka Anda akan melihat sesuatu seperti:
glibc-2.20-5.fc21.i686 : The GNU libc libraries
Repo : fedora
Matched from:
Provides : ld-linux.so.2
dan kemudian Anda hanya menjalankan yang berikut seperti yang ditulis BRPocock (jika Anda bertanya-tanya apa logikanya...):
yum install glibc.i686
Coba
$ yum provides ld-linux.so.2
$ yum update
$ yum install glibc.i686 libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
Semoga ini beres.
Anda menggunakan sistem 64-bit, dan belum menginstal dukungan library 32-bit.
Untuk menginstal dukungan (baseline) untuk executable 32-bit
(jika Anda tidak menggunakan sudo dalam pengaturan, baca catatan di bawah)
Sebagian besar sistem Linux desktop dalam keluarga Fedora/Red Hat:
pkcon install glibc.i686
Mungkin beberapa sistem desktop Debian/Ubuntu?:
pkcon install ia32-libs
Fedora atau Red Hat yang lebih baru, CentOS:
sudo dnf install glibc.i686
RHEL lama, CentOS:
sudo yum install glibc.i686
RHEL yang lebih tua, CentOS:
sudo yum install glibc.i386
Debian atau Ubuntu:
sudo apt-get install ia32-libs
harus mengambil perpustakaan (pertama, utama) yang Anda butuhkan.
Setelah memilikinya, Anda mungkin memerlukan lib dukungan
Siapa pun yang perlu menginstal glibc.i686
atau glibc.i386
mungkin akan mengalami dependensi perpustakaan lain juga. Untuk mengidentifikasi paket yang menyediakan pustaka arbitrer, Anda dapat menggunakan
ldd /usr/bin/YOURAPPHERE
jika Anda tidak yakin ada di /usr/bin
Anda juga dapat menggunakan kembali
ldd $(which YOURAPPNAME)
Outputnya akan terlihat seperti ini:
linux-gate.so.1 => (0xf7760000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf773e000)
libSM.so.6 => not found
Periksa perpustakaan yang hilang (mis. libSM.so.6
dalam output di atas), dan untuk masing-masing Anda perlu menemukan paket yang menyediakannya.
Perintah untuk menemukan paket per kelompok distribusi
Fedora/Red Hat Enterprise/CentOS:
dnf provides /usr/lib/libSM.so.6
atau, pada RHEL/CentOS yang lebih lama:
yum provides /usr/lib/libSM.so.6
atau, di Debian/Ubuntu:
pertama, instal dan unduh database untuk apt-file
sudo apt-get install apt-file && apt-file update
lalu cari dengan
apt-file find libSM.so.6
Perhatikan jalur awalan /usr/lib
dalam kasus (biasa); jarang, beberapa perpustakaan masih hidup di bawah /lib
karena alasan historis … Pada sistem 64-bit biasa, pustaka 32-bit berada di /usr/lib
dan pustaka 64-bit berada di /usr/lib64
.
(Debian/Ubuntu mengatur pustaka multi-arsitektur secara berbeda.)
Menginstal paket untuk pustaka yang hilang
Di atas seharusnya memberi Anda nama paket, misalnya:
libSM-1.2.0-2.fc15.i686 : X.Org X11 SM runtime library
Repo : fedora
Matched from:
Filename : /usr/lib/libSM.so.6
Dalam contoh ini nama paketnya adalah libSM
dan nama paket versi 32bit adalah libSM.i686
.
Anda kemudian dapat menginstal paket untuk mengambil perpustakaan yang diperlukan menggunakan pkcon
dalam GUI, atau sudo dnf/yum/apt-get
sewajarnya…. Misalnya pkcon install libSM.i686
. Jika perlu, Anda dapat menentukan versi sepenuhnya. Misalnya sudo dnf install ibSM-1.2.0-2.fc15.i686
.
Beberapa perpustakaan akan memiliki penunjuk "zaman" sebelum namanya; ini bisa dihilangkan (yang penasaran bisa baca catatan di bawah).
Catatan
Peringatan
Kebetulan, masalah yang Anda hadapi menyiratkan bahwa basis data RPM (resp. DPkg/DSelect) Anda rusak, atau aplikasi yang Anda coba jalankan tidak diinstal melalui pengelola paket. Jika Anda baru mengenal Linux, Anda mungkin ingin menghindari penggunaan perangkat lunak dari sumber selain pengelola paket, jika memungkinkan...
Jika Anda tidak menggunakan "sudo" dalam penyiapan Anda
Ketik
su -c
setiap kali Anda melihat sudo
, misalnya,
su -c dnf install glibc.i686
Tentang penanda zaman dalam nama perpustakaan
Penunjuk "Epoch" sebelum nama adalah artefak dari cara pustaka RPM yang mendasarinya menangani nomor versi; misalnya
2:libpng-1.2.46-1.fc16.i686 : A library of functions for manipulating PNG image format files
Repo : fedora
Matched from:
Filename : /usr/lib/libpng.so.3
Di sini, 2:
dapat dihilangkan; cukup pkcon install libpng.i686
atau sudo dnf install libpng-1.2.46-1.fc16.i686
. (Ini samar-samar menyiratkan sesuatu seperti:di beberapa titik, nomor versi dari libpng
paket digulung mundur, dan "zaman" harus ditambah untuk memastikan versi yang lebih baru akan dianggap "lebih baru" selama pembaruan. Atau hal serupa terjadi. Dua kali.)
Diperbarui untuk mengklarifikasi dan mencakup berbagai opsi pengelola paket secara lebih lengkap (Maret, 2016)
Baru saja menemukan masalah yang sama pada mesin CentOS 6.4 64-bit yang baru diinstal. Satu perintah yum akan memperbaiki ini plus 99% masalah serupa:
yum groupinstall "Perpustakaan kompatibilitas"
Awali ini dengan 'sudo' atau jalankan sebagai root, mana yang paling cocok untuk Anda.