ldd: библиотека не найдена

Я запускаю команду ldd на libqqnx.so на моей целевой плате. В этом списке перечислены несколько определенных зависимых библиотек, а затем выдается ошибка с именем ldd: Библиотека не может быть найдена. Если я делаю то же самое на libcpp.so.4 из qnx, то он не показывает таких ошибок.

У меня вопрос, файл libqqnx.so поврежден или он должен содержать список некоторых зависимых файлов lib?

output1:

# ldd /opt/qt/plugins/platforms/libqqnx.so:
libqqnx.so => /opt/qt/plugins/platforms/libqqnx.so (0x78000000)
libscreen.so.1 => /proc/boot/libscreen.so.1 (0x78040000)
libpps.so.1 => /opt/qt/lib/libpps.so.1 (0x78031000)
libm.so.2 => /proc/boot/libm.so.2 (0x78060000)
libfreetype.so.1 => /usr/lib/libfreetype.so.1 (0x78090000)
libQt5DBus.so.5 => /opt/qt/lib/libQt5DBus.so.5 (0x780e0000)
libQt5Gui.so.5 => /opt/qt/lib/libQt5Gui.so.5 (0x78200000)
libQt5Core.so.5 => /opt/qt/lib/libQt5Core.so.5 (0x78600000)
libGLESv2.so.1 => /usr/lib/graphics/iMX6X/libGLESv2.so.1 (0x78037000)
libEGL.so.1 => /proc/boot/libEGL.so.1 (0x78053000)
libcpp.so.5 => /opt/qt/lib/libcpp.so.5 (0x78140000)
libz.so.2 => /proc/boot/libz.so.2 (0x781a0000)
libslog2.so.1 => /proc/boot/libslog2.so.1 (0x78083000)
libicui18n.so.49 => /opt/qt/lib/libicui18n.so.49 (0x78a00000)
libicuuc.so.49 => /opt/qt/lib/libicuuc.so.49 (0x78b10000)
libicudata.so.49 => /opt/qt/lib/libicudata.so.49 (0x78c00000)
ldd: Library cannot be found

output2:    

# ldd /proc/boot/libcpp.so.4:
libcpp.so.4 => /proc/boot/libcpp.so.4 (0x78000000)

#

1 ответ

Мне кажется, что ldd ищет больше библиотек, но не находит их.

Если вам известен другой каталог, в котором есть другие библиотеки (.so* файлы), разрешите qnx искать в нем отсутствующие библиотеки. Вы можете использовать LD_LIBRARY_PATH.

Например: export LD_LIBRARY_PATH=/opt/qt/some_dir Больше информации здесь

Другие вопросы по тегам