libstdc ++. so.6: tidak dapat membuka file objek bersama: File atau direktori tersebut tidak ada


92

Saya ingin menjalankan perintah Cilkscreen dengan program cilk ++ tetapi saya mendapat kesalahan ini

/usr/local/cilk/bin/../lib32/pinbin: kesalahan saat memuat pustaka bersama: libstdc ++. so.6: tidak dapat membuka file objek bersama: Tidak ada file atau direktori seperti itu

Bisakah Anda menolong saya

Jawaban:


222

Coba ini:

apt-get install lib32stdc++6

7
Ini jauh lebih baik daripada menginstal ia32-libs (seperti yang diusulkan oleh trion). Melakukan ini, saya harus menginstal 1 atau 2 dependensi lain sementara ia32-libs memiliki 241 dependensi dengan total ruang disk tambahan 267 MB.
Mike

1
Ini juga berfungsi untuk menjalankan peralatan virtual Microsoft Windows untuk menguji program ekstraksi mandiri. Terima kasih!
Charles Engelke

4
@takeit Untuk mesin 64bit, haruskah kita menginstal lib64stdc++6sebagai gantinya?
boddhisattva

@boddhisattva Saya pikir lib32stdc++6adalah untuk mesin 64bit yang menjalankan perangkat lunak 32bit. Sesuatu yang mirip dengan "lapisan kompatibilitas". Untuk menjalankan perangkat lunak 64bit ("asli") pada mesin 64bit Anda hanya perlu libstdc++6. (Tautan untuk Ubuntu 14.04 Trusty Tahr; Saya tidak dapat menemukan tautan untuk Ubuntu 10.10 Maverick Meerkat.)
Franklin Yu

Luar biasa, meskipun saya menemui masalah ini dalam situasi yang berbeda di mana saya mencoba membuat kode sumber android, ia menemukan masalahnya dengan sempurna. Terima kasih banyak !!! ls
oscarz

15

Saya kira Anda menjalankan Linux pada mesin amd64. Folder yang dapat dieksekusi Anda berada ( lib32) menyarankan 32-bit yang dapat dieksekusi yang membutuhkan pustaka 32-bit.

Ini sepertinya tidak ada di sistem Anda, jadi Anda perlu menginstalnya secara manual. Nama paket tergantung pada distribusi Anda, untuk Debian ia32-libs, untuk Fedora libstdc++.<version>.i686.


Saya menjalankan Linux di Ubuntu 10.10
amunisi

Kemudian Anda ingin melakukannya dengan cara Debian dan menginstal ia32-libsatau beralih ke versi 64-bit dari perangkat lunak yang Anda coba gunakan.
Fabian Knorr

Saya telah menginstal paket ini tetapi sekarang saya mendapat kesalahan lagi "proses dimatikan oleh sinyal -7 E: Lampirkan ke pid 3874 gagal: Operasi tidak diizinkan"
amunisi

Sepertinya Anda mencoba memasang debugger / monitor 64-bit ke aplikasi 32-bit atau sebaliknya? Anda harus benar-benar mencoba mendapatkan komponen 64-bit dan membuat file yang dapat dieksekusi 64-bit; ini akan membuat hidup lebih mudah.
Fabian Knorr

1
Bagaimana saya bisa melakukan ini? Saya seorang pemula Linux dan saya tidak mengerti Anda dengan baik bagaimana memasang debugger / monitor 64-bit ke aplikasi 32-bit ov / s. bisakah Anda menjelaskannya
amunisi

9

Untuk penggunaan Fedora:

yum install libstdc++44.i686

Anda dapat mengetahui versi mana yang didukung dengan menjalankan:

yum list all | grep libstdc | grep i686


8

Untuk Red Hat:

sudo yum install libstdc++.i686
sudo yum install libstdc++-devel.i686

1

/usr/local/cilk/bin/../lib32/pinbin terhubung secara dinamis ke pustaka libstdc ++. so.6 yang sudah tidak ada lagi. Anda perlu mengkompilasi ulang Cilk


tetapi libstdc ++. so.6 ada di folder / usr / lib
ammouna

1
Ya, tetapi karena ini adalah aplikasi 32-bit, ini membutuhkan /usr/lib32/libstdc++.so.6.
Fabian Knorr
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.