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

78

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

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

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

$ 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

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

    
задан Vesnog 19.01.2015 в 21:36
источник

5 ответов

68

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

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

sudo apt-get install libstdc++6

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

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

Я не выполнял команду «dist-upgrade», но те, которые раньше решили ее для меня

    
ответ дан Paulo 08.02.2015 в 01:32
источник
54

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

conda install libgcc
    
ответ дан neok 14.06.2016 в 17:37
10

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

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

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

Для решения проблемы выполните следующие действия:

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

    cd ~/anaconda2/lib
    mv -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 / другой интерфейс, который вы используете

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

    
ответ дан mjp 28.04.2016 в 23:09
2

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

sudo apt-get dist-upgrade

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

    
ответ дан Bryan Wilcutt 23.09.2016 в 17:25
1
sudo cp /usr/bin/YourGccVersionLibrary/lib64/libstdc++.so.6 /usr/bin/YourGccVersionLibrary/lib64/libstdc++.so.6.0.20 /usr/lib/x86_64_linux-gnu/
    
ответ дан Mati 11.11.2015 в 21:55