Когда я пытаюсь запустить программу Layout Editor (доступна на этом сайте ) в 64-битной LTS Ubuntu 14.04.1, я получаю следующий вывод в терминале:
$ layout
layout: /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 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 ( Toolchains Test Builds ) с помощью ppa-purge
. Любая помощь, предложения о том, как поступить, с благодарностью.
источник
Ответы:
У меня возникла та же проблема при попытке запустить другую программу, и я нашел решение для StackOverflow .
В основном, просто выполните следующие команды: во-первых, установите:
Это уже должно быть установлено по умолчанию, но попробуйте в любом случае. Если это не решит проблему, просто сделайте следующее:
Я не выполнил команду "dist-upgrade", но те, что раньше, решили ее для меня
источник
dist-upgrade
какupgrade
предложено и обновлена моя система с последнимlibstdc++
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
apt-repository
updated/usr/lib/x86_64-linux-gnu/libstdc++.so.6
до GLIBCXX_3.4.24 включительно и, кроме того, это обновляет в основном ВСЕ c / c ++ / fortran. инструменты разработки на вашей машинеЭто случилось со мной с anaconda 4.0.0 (как сказано в @mjp), но исправление для меня состояло в том, чтобы запустить эту команду в моей среде:
источник
У меня была эта проблема - потому что
Anaconda2
у меня не было версии GLIBCXX_3.4.20, какой бы она ни была. Только до .19, такой же как у тебя.Однако в библиотеке Ubuntu это было . Поэтому я просто создал мягкую ссылку / ярлык в библиотеке Anaconda на настоящую библиотеку Linux, содержащую этот GLIBCXX_3.4.20, заменив предыдущую, и она работала нормально после перезапуска Python GUI (Spyder).
Там должна быть папка с именем
libstdc++.so.6
в библиотеке Anaconda, которая находится здесь:~/anaconda2/lib
. В этой папке находятся версии скрипта / библиотеки-кода, за исключением той, которую вам не хватает: GLIBCXX_3.4.20Для решения проблемы выполните следующие действия:
перейдите в нужное место и создайте резервную копию текущего
anaconda2
ярлыка (измените его имя, чтобы оно не перезаписывалось):создайте новый ярлык с помощью
ln
команды (я предполагаю, что я нахожусь в предыдущем месте ~ / anaconda2 / lib):перезапустите spyder / другой интерфейс, который вы используете
Теперь должно работать!
источник
Я решил проблему, как это (но GLIBCXX_3.4.21) на CentOS, но это не зависит от ОС. Библиотека является частью компилятора gcc, поэтому необходимо установить или скомпилировать соответствующую версию gcc. Это таблица версий gcc и версий соответствующих libstdc ++:
(полный список версий здесь )
Это не зависит от того, как установить gcc - его можно установить из пакета или скомпилировать и установить из исходных кодов.
Вполне возможно, что системные библиотеки gcc доступны вместо недавно установленных. Поэтому необходимо указать переменную среды, где искать библиотеки, например, в командной строке следующим образом:
источник
/usr/lib64/libstdc++.so.6
чтобы указать на новую версию я имел в/usr/local/lib64/libstdc++.so.6
этой команде:ln -fs /usr/local/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6
. Старая версия остается без ссылки, указывающей на нее, если вам нужно вернуться. Немного взломать, но это работает.Я имел это много раз в течение многих лет со многими различными пакетами. Это всегда было решено путем:
Если ваш дистрибутив может быть обновлен, он почти всегда отключит новую библиотеку C ++ и перенастроит такие вещи, чтобы они снова работали. Проблема почти всегда вызвана тем, что ваша система не указывает на нужную библиотеку. В моем случае это обычно вызвано указанием на кросс-компиляторную версию библиотеки.
источник
before_install:
# Этот обходной путь необходим, чтобы избежать ошибок 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.deb
sudo 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.deb
sudo dpkg -i hugo.deb
Я нашел это решение здесь
источник
источник
cp
и нетln -s
?