GLIBCXX_3.4.20 не найден, как исправить эту ошибку?

Когда я пытаюсь запустить программу Редактор макетов (доступно на этот сайт) на 64-разрядной LTS Ubuntu 14.04.1 я получаю следующий вывод в терминале:

$ layoutlayout: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by layout)

Я попробовал выполнить команду strings на /usr/lib/x86_64-linux-gnu/libstdc++.so.6 как показано ниже, а вот входные и выходные данные:

$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXXGLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBCXX_3.4.14GLIBCXX_3.4.15GLIBCXX_3.4.16GLIBCXX_3.4.17GLIBCXX_3.4.18GLIBCXX_3.4.19GLIBCXX_DEBUG_MESSAGE_LENGTH

Как я могу решить эту проблему, я почему-то догадываюсь, что это связано с GCC но не могу понять, как устранить проблему. Кроме того, я попробовал PPA, как было предложено на Как мне использовать последнюю версию GCC в Ubuntu? и есть аналогичный вопрос для более старой версии Ubuntu по адресу GLIBCXX_3.4.15 не найден. Однако после того, как я побежал sudo update Я получаю многочисленные предупреждения, и в списке, который я получил с помощью команды strings, не было новых записей после установки gcc 4.9, поэтому я очистил PPA(Тестовые сборки Toolchains) с ppa-purge. Любая помощь, предложения о том, как действовать дальше, будут очень признательны.

У меня была такая же проблема при попытке запустить другую программу, и я нашел решение на StackOverflow.

В принципе, просто выполните следующие команды: Во-первых, установите:

sudo apt-get install libstdc++6

Это уже должно быть установлено по умолчанию, но все равно попробуйте.Если это не решит проблему, просто выполните следующие действия:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get updatesudo apt-get upgradesudo apt-get dist-upgrade

Я не выполнял команду "dist-upgrade", но предыдущие решили ее за меня

Это случилось со мной с anaconda 4.0.0 (как заявил @ mjp), но исправление для меня состояло в том, чтобы запустить эту команду в моей среде:

conda install libgcc

У меня была эта проблема - это было потому, что Anaconda2 у меня не было версии GLIBCXX_3.4.20, что бы это ни было. Только до 19-го калибра, такой же, как у вас.

Тем не менее, в библиотеке Ubuntu это было. Итак, я просто создал программную ссылку / ярлык в библиотеке Anaconda на фактическую библиотеку Linux, содержащую этот GLIBCXX_3.4.20, заменив предыдущую, и она отлично работала после перезапуска графического интерфейса python (Spyder).

Там должна быть папка под названием libstdc++.so.6 в библиотеке Anaconda, которая находится здесь: ~/anaconda2/lib. В этой папке находятся версии скрипта /библиотеки-кода, за исключением той, которую вам не хватает: GLIBCXX_3.4.20

Выполните следующие действия, чтобы устранить проблему:

  1. перейдите в нужное место и резервная копия ваш текущий anaconda2 ярлык (измените его имя, чтобы оно не было перезаписано):

    cd ~/anaconda2/libmv -vf libstdc++.so.6 libstdc++.so.6.old
  2. создайте новый ярлык, используя ln команда (я предполагаю, что я нахожусь в предыдущем местоположении ~/anaconda2/lib):

    ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./libstdc++.so.6
  3. перезапустите spyder / другой интерфейс, который вы используете

Теперь это должно сработать!

Я решил подобную проблему (но GLIBCXX_3.4.21) на CentOS, но она не зависит от ОС. Библиотека является частью компилятора gcc, поэтому необходимо установить или скомпилировать соответствующую версию gcc. Это таблица версий gcc и версий соответствующих libstdc++:

GCC 4.9.0: libstdc++.so.6.0.20GCC 5.1.0: libstdc++.so.6.0.21GCC 6.1.0: libstdc++.so.6.0.22GCC 7.1.0: libstdc++.so.6.0.23GCC 7.2.0: libstdc++.so.6.0.24GCC 8.0.0: libstdc++.so.6.0.25

( полный список версий приведен ниже здесь )

Это не зависит от того, как установить gcc - он может быть установлен из пакета или скомпилирован и установлен из исходных текстов.

Возможно, что системные библиотеки gcc доступны вместо недавно установленных. Поэтому нужно указать переменную окружения, где искать библиотеки, например, в командной строке следующим образом:

$ LD_LIBRARY_PATH=/usr/local/lib64 command args ...

Перед установкой:

Этот обходной путь необходим, чтобы избежать ошибок libstdc++ при запуске "расширенного" hugo с поддержкой 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.debsudo dpkg --force-all -i libstdc++6

Установка:

wget -q -O hugo.deb https://github.com/gohugoio/hugo/releases/download/v0.46/hugo_extended_0.46_Linux_64bit.debsudo dpkg -i hugo.deb

Я нашел это решение здесь, на форуме поддержки Hugo

У меня было это много раз на протяжении многих лет со многими различными пакетами. Это всегда решалось путем:

sudo apt-get dist-upgrade

Если ваш dist можно обновить, он почти всегда приведет к созданию новой библиотеки C ++ и переконфигурирует такие вещи, как то, что они снова работают. Проблема почти всегда возникает из-за того, что ваша система не указывает на нужную библиотеку. В моем случае это обычно вызывается указанием на кросс-компиляторную версию библиотеки.

sudo cp/usr/bin/YourGccVersionLibrary/lib64 /libstdc++.so.6/usr/bin/YourGccVersionLibrary/lib64 /libstdc++.so.6.0.20/usr/lib / x86_64_linux-gnu/
< / коде>< / пре>

У меня была такая же проблема при установке Ubuntu 18.04 в Virtualbox с изображением live-сервера. Я не уверен, что я сделал не так, но получил ту же ошибку

"apt-get: symbol lookup error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: undefined symbol: , version GLIBCXX_3.4.11"

Я использовал 64-разрядную версию и должен был загрузить этот файл с помощью

wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-8/libstdc++6_8.4.0-1ubuntu1~18.04_amd64.deb

и установлен с помощью dpkg -i.Затем все работает нормально с APT.

Затем сделал apt-get upgrade чтобы убедиться, что все хорошо.

@ StevenRoose Я смог решить проблему, добавив несколько бэкпортов и установив некоторое программное обеспечение, но я не помню четко деталей, когда я их вспомню, я опубликую их в качестве ответа.

Уже нашли решение?

Похоже, что это эффект связывания символов: linux - How can I link to a specific glibc version? - Stack Overflow Вы просто не ссылаетесь на достаточно свежую версию библиотеки.

Possible duplicate of /usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.19’ not found