Mengapa saya mencoba menjalankan Layout Editor program (tersedia di situs ini ) di Ubuntu 14.04.1 LTS 64-bit Saya mendapatkan output berikut di terminal:
$ layout
layout: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by layout)
Aku mencoba perintah strings
pada /usr/lib/x86_64-linux-gnu/libstdc++.so.6
sebagai berikut dan di sini adalah input dan output:
$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
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_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH
Bagaimana saya bisa mengatasi masalah ini, entah bagaimana saya kira itu berkaitan dengan GCC
tetapi tidak tahu bagaimana cara memperbaiki masalah ini. Selain itu, saya telah mencoba PPA seperti yang disarankan pada Bagaimana cara menggunakan GCC terbaru di Ubuntu? dan ada pertanyaan serupa untuk versi Ubuntu yang lebih lama di GLIBCXX_3.4.15 tidak ditemukan . Namun, setelah saya berlari sudo update
saya mendapatkan banyak peringatan dan daftar yang saya peroleh dengan perintah string tidak memiliki entri baru setelah menginstal gcc 4.9
, jadi saya membersihkan PPA ( Toolchains Test Builds ) dengan ppa-purge
. Setiap bantuan, saran tentang cara melanjutkan sangat dihargai.
sumber
Jawaban:
Saya mengalami masalah yang sama ketika mencoba menjalankan program lain, dan menemukan solusi di StackOverflow .
Pada dasarnya, lakukan saja perintah berikut: Pertama, instal:
Ini seharusnya sudah diinstal secara default, tetapi tetap coba. Jika tidak menyelesaikannya, lakukan saja hal berikut:
Saya tidak melakukan perintah "dist-upgrade", tetapi yang sebelumnya menyelesaikannya untuk saya
sumber
dist-upgrade
seperti yangupgrade
diusulkan dan memperbarui sistem saya dengan yang terbarulibstdc++
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
apt-repository
updated/usr/lib/x86_64-linux-gnu/libstdc++.so.6
hingga dan termasuk GLIBCXX_3.4.24 - dan selain itu, ini memperbarui dasar semua SEMUA c / c ++ / fortran alat pengembangan pada mesin AndaItu terjadi pada saya dengan anaconda 4.0.0 (seperti @mjp menyatakan), tetapi perbaikan bagi saya adalah dengan menjalankan perintah ini di lingkungan saya:
sumber
Saya punya masalah ini - itu karena
Anaconda2
tidak memiliki versi GLIBCXX_3.4.20 apa pun itu. Hanya hingga 0,19, sama seperti milik Anda.Namun, perpustakaan Ubuntu memang memilikinya . Jadi saya baru saja membuat softlink / pintas di perpustakaan Anaconda ke perpustakaan Linux yang sebenarnya yang mengandung GLIBCXX_3.4.20, menggantikan yang sebelumnya, dan itu bekerja dengan baik setelah me-restart python GUI (Spyder).
Harus ada sebuah folder bernama
libstdc++.so.6
di perpustakaan Anaconda, yang ada di sini:~/anaconda2/lib
. Di dalam folder ini ada versi script / library-code-thing, tidak termasuk yang Anda lewatkan: GLIBCXX_3.4.20Ikuti langkah-langkah ini untuk menyelesaikan masalah:
pergi ke lokasi yang tepat dan cadangkan
anaconda2
pintasan Anda saat ini (ubah namanya agar tidak ditimpa):buat pintasan baru menggunakan
ln
perintah (saya berasumsi bahwa saya di lokasi sebelumnya ~ / anaconda2 / lib):restart spyder / antarmuka lain yang Anda gunakan
Seharusnya sekarang berfungsi!
sumber
Saya memecahkan masalah seperti ini (tapi GLIBCXX_3.4.21) pada CentOS tetapi tidak tergantung dari os. Perpustakaan adalah bagian dari kompiler gcc sehingga perlu menginstal atau menyusun versi gcc yang sesuai. Ini adalah tabel versi gcc dan versi libstdc ++ yang sesuai:
(daftar lengkap versi ada di sini )
Itu tidak tergantung dari cara menginstal gcc - itu dapat diinstal dari paket atau dikompilasi dan diinstal dari sumber.
Mungkin saja pustaka gcc sistem tersedia alih-alih yang baru diinstal. Jadi perlu menentukan variabel lingkungan tempat menemukan perpustakaan misalnya dalam baris perintah seperti ini:
sumber
/usr/lib64/libstdc++.so.6
untuk menunjuk ke versi yang lebih baru aku di/usr/local/lib64/libstdc++.so.6
dengan perintah ini:ln -fs /usr/local/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6
. Versi lama tetap tanpa tautan yang menunjuk ke sana jika Anda perlu kembali. Sedikit peretasan tetapi berhasil.Saya sudah berkali-kali selama bertahun-tahun dengan banyak paket berbeda. Itu selalu diselesaikan oleh:
Jika dist Anda dapat diupgrade, hampir selalu akan menurunkan pustaka C ++ baru dan mengonfigurasi ulang hal-hal seperti itu agar berfungsi kembali. Masalah ini hampir selalu disebabkan oleh sistem Anda yang tidak menunjuk ke perpustakaan yang tepat. Dalam kasus saya, biasanya disebabkan oleh menunjuk ke versi cross-compiler perpustakaan.
sumber
before_install:
# Pemecahan masalah ini diperlukan untuk menghindari kesalahan libstdc ++ saat menjalankan hugo "extended" dengan dukungan SASS.
wget -q -O libstdc++6 http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg --force-all -i libstdc++6
Pasang:
wget -q -O hugo.deb https://github.com/gohugoio/hugo/releases/download/v0.46/hugo_extended_0.46_Linux_64bit.deb
sudo dpkg -i hugo.deb
Saya menemukan solusi ini di sini
sumber
sumber
cp
dan tidakln -s
?