grayich |
|
Темы:
216
Сообщения:
1984
Участник с: 08 января 2009
|
можно ли и как подменить библиотеку для отдельно взятой софтины? |
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
grayich
|
grayich |
|
Темы:
216
Сообщения:
1984
Участник с: 08 января 2009
|
vs220, это я так понимаю укажет путь где искать ВСЕ библиотеки, а мне нужно одну только |
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
grayichПоложите в каталог одну, остальные будут искаться по стандартным путям |
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
Список динамических библиотек приведен в исполняемом файле, например, возьмем firefox $ readelf -d /usr/bin/firefox | grep NEEDED При запуске проги приведенные библиотеки считываются, загружаются и попадают в память, откуда они и считываются при запросе ......... в принципе их можно посмотреть и через ldd (хотя это делать не рекомендуют, если есть сомнения в чистоте кода) … проверяем … и убеждаемся. что получаем все те же библиотеки$ ldd /usr/bin/firefox Насчет подмены библиотеки, …. как можно судить, возможны следующие варианты1. Пересобрать прогу ….. это, конечно, не выход … и самый крайний вариант … а, главное, нужны все исходники 2. Править код …. не выход … нужно знать, что править и возможно ли это в данном конкретном случае. 3. Самое простое — сделать симлинк на нужную библиотеку … если, конечно, такая имеется и является полным аналогом заменяемой библиотеки … PS .... но это, конечно, дело вкуса ... можно и как написал vs220 Например, недавно возился с прогой sb_pilot - прога не запускалась ввиду отсутствия библиотеки libncurses.so.5, которая была прописана в бинарнике Эта библиотека из пакета ncurses 5, а у нас стоит ncurses 6 …. но, главное, что в нашем пакете эта билиотека даже и называется немного по другому - libncursesw.so.6.0Я решил попробовать сделать симлинк на libncursesw.so.6.0 …. по идее должно пройти, но полной уверенности не было ….. прошло, прога запустилась $ ls -l /usr/lib/libncurses.so.5 lrwxrwxrwx 1 root root 27 янв 27 19:09 /usr/lib/libncurses.so.5 -> /usr/lib/libncursesw.so.6.0
Ошибки не исчезают с опытом - они просто умнеют
|
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
Можно еще Путь до библиотеки и названиенапример LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so программа |
grayich |
|
Темы:
216
Сообщения:
1984
Участник с: 08 января 2009
|
vs220, сработало, благодарю) |
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
Если на постоянку, то проще симлинк
Ошибки не исчезают с опытом - они просто умнеют
|
grayich |
|
Темы:
216
Сообщения:
1984
Участник с: 08 января 2009
|
vasek, это как? |
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
vasekЭто не подойдет если используются две версии одной и той же библиотеки. В системе используется новая версия а программе нужна старая. Сделав симлинк вы заставите все программы использовать старую версию, что может привести к неработоспособности |