Задать вопрос

Почему линковщик в Linux не видит динамическую библиотеку?

Имеется Raspberry Pi с последним Raspbian Wheezy на борту и устройство с интерфейсом на базе чипа FTDI. Для устройства были установлены библиотеки (согласно прилагаемому мануалу). Проблема в том, что программы не видят этих библиотек.

Запускаем пример, идущий с драйвером:
$ sudo ~/release/examples/EEPROM/read/./read
/home/pi/release/examples/EEPROM/read/./read: error while loading shared libraries: libftd2xx.so: cannot open shared object file: No such file or directory

Нет файла, говорите? Проверяем зависимости:
$ sudo ldd ~/release/examples/EEPROM/read/./read
        /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0xb6fb5000)
        libftd2xx.so => not found
        libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6e7a000)
        /lib/ld-linux-armhf.so.3 (0xb6fc3000)

Действительно нет. Но! Проверяем какие библиотеки вообще есть в системе (вывод обрезан):
$ sudo ldconfig -v
/usr/local/lib:
        libftd2xx.so -> libftd2xx.so.1.1.12
/usr/lib:
        libftd2xx.so -> libftd2xx.so.1.1.12

И, о чудо, библиотеки в системе есть. И даже прописаны в двух местах. Но линковщик их не видит. Почему?

Прописывать отдельно путь к отдельной папке с библиотекой через переменную LD_LIBRARY_PATH пробовал. Прописывать этот-же путь через ld.so.conf пробовал.
А самая мистика в том, что на такой-же малинке с Arch Linux всё работает без всяких проблем. Более того, и на Raspbian с ядром 3.10 всё работало. Но из-за безвременной кончины SD карты пришлось накатить систему с нуля. И тут такая засада.
  • Вопрос задан
  • 5748 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
WildHorn
@WildHorn Автор вопроса
Вопрос снимается.
Вытащил из бэкапа годичной давности ту-же самую библиотеку (libftd2xx.so), положил куда надо и всё заработало. Сверил файлы - библиотеки имеют одну и ту же версию (судя по имени), но размер разный.
Вывод - эти азиаты что-то напортачили с файлами у себя на сайте, поэтому скачанная год назад на Arch библиотека работает, а скачанная сейчас на свежий Debian - уже нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
donkaban
@donkaban
Умею рисовать тени
Стоит внимательно прочитать www.opennet.ru/base/dev/shared_lib_intro.txt.html
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы