загрузка разделяемой библиотеки с помощью dlopen, когда путь содержит двоеточие

загрузка разделяемой библиотеки с помощью dlopen, когда путь содержит двоеточие...

Например, делая:

dlopen("/usr/foo:bar/mylib.so", flags);

Пожалуйста, не говорите мне изменить имя пути, это не то, что я контролирую.

Спасибо!


person John Smith    schedule 02.04.2014    source источник
comment
Он должен работать. Когда dlopen() не работает, какое сообщение об ошибке возвращает dlerror()?   -  person Mark    schedule 02.04.2014
comment
Привет, спасибо за ваш ответ. Проблема, с которой я столкнулся, заключалась в том, что загрузчик, загружающий файл, не показывал dlerror, а бесполезно Не смог загрузить x! сообщение. Я воспользовался прямым обращением к библиотеке и получил следующее сообщение: /lib/libc.so.6: версия `GLIBC_2.7' не найдена На компьютере установлена ​​версия 2.5. Я не могу обновить его до версии 2.7 или выше, поэтому у меня вопрос: есть ли способ перекомпилировать библиотеку, используя более низкую версию, чем она на самом деле использует? Я новичок в Linux... еще раз спасибо за ваш ответ!   -  person John Smith    schedule 03.04.2014
comment
Лучший известный мне способ — найти копию Linux с нужной версией glibc и скомпилировать на ней. Для версии 2.5 вы, вероятно, ищете старую версию 2006-2008 годов.   -  person Mark    schedule 03.04.2014
comment
Получил работу, большое спасибо! Но теперь я столкнулся с новой проблемой: stackoverflow.com/questions/22854335/   -  person John Smith    schedule 04.04.2014