Выполнение двоичного файла: `GLIBCXX_3.4.11 'не найден

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

./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 . Есть ли способ решить эту проблему?

10
задан fedorqui 26 March 2013 в 15:55
поделиться