Versi `GLIBCXX_3.4.15 'tidak ditemukan di CentOS (dalam file /usr/lib/libstdc++.so.6)

2

Saya mencoba menggunakan program dan saya mendapatkan kesalahan berikut.

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found

Di bawah / usr / lib64 libstdc ++ yang saya lihat adalah libstdc ++ .so.6.0.13 (dan tautan lunak).

Dengan strings libstdc++.so.6.0.13 | grep GLIBCXXsaya dapatkan

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

Dengan cat /etc/redhat-releasesaya dapatkan

Red Hat Enterprise Linux Workstation release 6.4 (Santiago)

Jadi pertanyaannya apa yang harus saya lakukan untuk memperbaikinya. Haruskah saya menginstal beberapa paket baru dan jika ya yang mana?

George Kastrinis
sumber
Saya belum melihat mereka memilikinya tetapi sudahkah Anda mencoba EPEL
Zan Lynx

Jawaban:

0

Anda perlu menginstal versi GCC yang lebih baru dan, jika itu adalah paket terpisah di CentOS, versi gcc-lib yang lebih baru. Sayangnya, saya tidak berpikir versi terbaru seperti itu akan tersedia di repositori CentOS.

Salah satu opsi adalah menginstal versi terbaru GCC hanya untuk akun pengguna Anda (yaitu jangan menginstalnya di seluruh sistem, yang akan membantu menghindari beberapa potensi sakit kepala). Anda dapat melakukan ini dengan cukup mudah menggunakan GSRC , tetapi tentu saja Anda juga dapat mengunduh arsip sumber GCC dan menentukan direktori non-standar untuk --prefixopsi tersebut. Kemudian, ketika Anda membangun perangkat lunak baru, Anda harus menentukan LDFLAGS="-L /path/to/your/gcc/libs -L/usr/lib (etc)", CFLAGS="-I /path/to/your/gcc/includes -I /usr/include (etc)"dan mungkin kira-kira seperti itu CXX=/path/to/your/g++. Ketika Anda menjalankan program, Anda akan membutuhkan LD_LIBRARY_PATH=/path/to/your/gcc/libsdi lingkungan Anda.

Atau, Anda dapat menginstal distro dengan lebih banyak perangkat lunak terbaru, meskipun saya mengerti bahwa ini tidak selalu memungkinkan.


sumber
0

Saya memiliki masalah yang sama sehingga saya menggunakan tautan ini untuk glibcxx_3.4.15 dan secara manual menempatkan konten ke folder yang diperlukan (/ usr / lib folder). Saya bisa menjalankan gdb di aplikasi saya setelah itu. Semoga ini membantu.

EDIT: Pilih tautan di bawah tab ALT Linux dan unduh paket biner (paket ini lebih umum dan dapat digunakan di berbagai distro).

Contoh: libstdc ++ 6-4.7.2-alt7.i586.rpm - Perpustakaan GNU Standard C ++

Ini akan mencakup libstdc ++ .so.6.0.17 dan juga libstdc ++ .so.6.0.15.

Chef Firaun
sumber
Versi CentOS kami adalah rilis Red Hat Enterprise Linux Workstation 6.4. Jadi dari tautan Anda paket tersebut memiliki hingga libstdc ++. So.6 (GLIBCXX_3.4.13) dan bukan 3.4.15
George Kastrinis
Yah, saya menggunakan versi CentOS yang sama dan mengalami pesan kesalahan yang sama. Anda mungkin belum memperhatikan tetapi ia datang dengan libstdc ++. So.6.0.17 yang mencakup versi yang Anda cari, tetapi Anda dapat mencoba tautan ini juga yang memiliki versi persis glibcxx_3.4.15
Chef Firaun