LinuxMengatasi error while loading shared cannot open shared object no such file...

Mengatasi error while loading shared cannot open shared object no such file or directory di Linux

Masalah error while loading shared cannot open shared object no such file or directory biasanya terjadi setelah kita melakukan update pada aplikasi di Linux. Dan umumnya ini terjadi pada aplikasi yang menggunakan pustaka bersama.

Apa Itu Library Bersama? Pustaka bersama di Linux menyediakan berbagai fungsi yang dapat digunakan kembali untuk program. Misalnya, kita ingin menulis program yang mengambil berkas terkompresi sebagai input. Untuk melakukannya, kita dapat menggunakan pustaka yang sudah ada contoh salah satunya adalah zlib. Program memuat Library bersama saat diluncurkan. Dengan ini, kita dapat mencantumkan semua Library bersama yang digunakan oleh program dengan perintah ldd:

Dalam tutorial ini, kita akan membahas berbagai penyebab dan perbaikan untuk kesalahan ” error while loading shared cannot open shared object no such file or directory ” di Linux.

Untuk mengatasi masalah ini, berikut adalah solusi perbaikan yang bisa Anda lakukan :

1. Perbaiki Paket yang Hilang

Jika sebuah program mengeluhkan libzstd.so yang hilang, kita dapat mencoba mencarinya di pengelola paket sistem kita. Pada sistem berbasis apt, kita dapat menggunakan perintah apt search seperti dibawah ini :

Sekarang, kita dapat menginstal paket yang hilang dengan apt install. Namun, kita harus mencatat bahwa metode ini tidak terlalu dapat diandalkan dan memerlukan beberapa tebakan untuk menemukan nama paket. Dalam contoh di atas, nama pustaka yang hilang adalah libzstd.so, tetapi tidak ada paket yang disebut libzstd. Akibatnya, kita harus menebak dan mencari zstd saja.

2. Mengonfigurasi Jalur Library Secara Permanen

Berkas /etc/ld.so.conf dapat digunakan untuk menetapkan jalur pencarian Library secara permanen. Dalam berkas ini, kita tentukan daftar direktori yang dipisahkan oleh baris baru. Mari kita perbaiki lagi kesalahan libfoo.so dengan cara :

Catatan :

Kita harus menjalankan perintah ldconfig sekali untuk membuat sistem mengetahui jalur baru.

3. Gunakan Perintah ldconfig

Kita mungkin baru saja memasang Library bersama baru atau mengubah jalur pencarian pustaka bersama. Oleh karena itu, kita perlu menjalankan perintah ldconfig. Perintah ini memperbarui cache linker agar mengetahui adanya pustaka bersama baru. Linker, yang dikenal sebagai ld.so, memuat pustaka bersama untuk program. Kita dapat memanggil ldconfig dengan tanda -p untuk memeriksa cache saat ini, dengan cara berikut :

4. Tambahkan Variabel LD_LIBRARY_PATH

LD_LIBRARY_PATH adalah daftar direktori yang dipisahkan titik dua, sama seperti variabel PATH. Jalur pencarian default biasanya terbatas pada /usr/lib dan /usr/local/lib. Misalnya kita memiliki program yang terhubung ke libfoo.so, yang terletak di /home/baeldung/libs/libfoo.so, yang berada di luar jalur pencarian default. Kemudian, kita dapat menggunakan variabel ini untuk menambahkan ke jalur pencarian dan menyelesaikan masalah. Pertama, mari kita konfirmasi pustaka yang ditautkan oleh program menggunakan perintah ldd:

KATEGORI

Artikel Lainya

Rekomendasi Artikel

LEAVE A REPLY

Please enter your comment!
Please enter your name here