Как обновить libstdc ++. So.6 или изменить файл для использования в Tensorflow, Python - PullRequest
0 голосов
/ 26 января 2020

Я использую Python3 и Tensorflow 1.15 на Apache сервере CentOS6.

Теперь я борюсь с этой ошибкой.

Требуется GLIBCXX_3.4.17

ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.17' not found (required by /home/app/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/_pywrap_tensorflow_internal.so)

Итак, теперь я проверил версию libstd c.

strings /usr/lib64/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_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

Там нет 3.4.17

Однако в каталоге conda есть и другая библиотека libstdc ++

strings /home/app/anaconda3/lib/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_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_DEBUG_MESSAGE_LENGTH

Так что у меня есть две идеи.

  1. обновление /usr/lib/64/libstdc++.so.6 в CentOS6

sudo yum update libstdc++-devel

пакет не найден ...

заставить python использовать /home/app/anaconda3/lib/libstdc++.so.6

Однако я не знаю, как ...

Если у вас есть идеи, пожалуйста, помогите ..

1 Ответ

0 голосов
/ 05 февраля 2020

См. https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html#manual .intro.using.linkage.dynami c, в котором объясняется, как компоновщик может найти новый libstdc++.so.6.

Также libstdc ++ FAQ в https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq .how_to_set_paths

...