Я пытаюсь запустить предварительно скомпилированный код, но получаю следующую ошибку:
./bin/stipdet: /cm/shared/apps/gcc/4.3.4/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./bin/stipdet)
Я погуглил ошибку и увидел, что некоторые люди решили похожие проблемы, удалив libstdc++.so.6
и добавив новую динамическую ссылку, указывающую на usr/local/lib
. Но у меня нет корневого доступа к системе, в которой я пытаюсь запустить это, поэтому я не могу добавлять/удалять файлы в этом каталоге.
Кто-нибудь знает другой способ решить эту проблему?
ОБНОВЛЕНИЕ:
Я попытался добавить каталог другой версии libstdc++.so.6
в LD_PRELOAD
, но у меня это не сработало, он по-прежнему использует файл из неправильного каталога.
То же самое происходит, когда я добавляю правильный каталог к LD_LIBRARY_PATH
. Наконец, я также попытался удалить все остальное из LD_LIBRARY_PATH
, а затем добавить правильный каталог (просто попробовать). Это, казалось, исправило исходную ошибку! Но теперь я получаю ту же ошибку в другом месте:
./bin/stipdet: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /var/scratch/user/local/lib/libopencv_features2d.so.2.2)
По-видимому, opencv
использует другую версию glibcxx
, поэтому переход на другую libstdc
ломает opencv
. Есть ли способ обойти эту проблему?