фиг там спать с этими вашими линуксами
May. 9th, 2009 01:32 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
А вот скажите мне, как в линуксе ищутся shared object, то бишь библиотеки?
Не могу понять, как получается, что там где я собрал Qt креатором проект, он работает, а на другом дебиане - нет. Пишет, что не может загрузить libQtSql.so.4
ldd выдает отличающиется списки используемых либ:
libQtSql.so.4 => not found
libQtGui.so.4 => not found
libQtNetwork.so.4 => not found
libQtCore.so.4 => not found
libQtSql.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtSql.so.4 (0xb7ebe000)
libQtGui.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtGui.so.4 (0xb74a4000)
libQtNetwork.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtNetwork.so.4 (0xb7178000)
libQtCore.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtCore.so.4 (0xb6f25000)
По аналогии с вендой - скопировал нужные либы в папку к проге - фиг, все равно не видит :)
Установка qt либ из репозитория не помогла - ldd теперь их видит, но прога не работает - версия либ (4.2) раньше той на которой я прогу собирал (4.5)
В натуре придется LD_LIBRARY_PATH править, хотя везде написано что это антигуманно. Или еще как-нибудь заставлять лоадер либы рядом с приложением искать.
А вот если я захочу вместо Qt4.2 поставить Qt4.5, сломается что нибудь в системе или нет? И как это сделать, не поломав голову менеджеру пакетов?
Не могу понять, как получается, что там где я собрал Qt креатором проект, он работает, а на другом дебиане - нет. Пишет, что не может загрузить libQtSql.so.4
ldd выдает отличающиется списки используемых либ:
libQtSql.so.4 => not found
libQtGui.so.4 => not found
libQtNetwork.so.4 => not found
libQtCore.so.4 => not found
libQtSql.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtSql.so.4 (0xb7ebe000)
libQtGui.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtGui.so.4 (0xb74a4000)
libQtNetwork.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtNetwork.so.4 (0xb7178000)
libQtCore.so.4 => /home/user/qtsdk-2009.02/qt/lib/libQtCore.so.4 (0xb6f25000)
По аналогии с вендой - скопировал нужные либы в папку к проге - фиг, все равно не видит :)
Установка qt либ из репозитория не помогла - ldd теперь их видит, но прога не работает - версия либ (4.2) раньше той на которой я прогу собирал (4.5)
В натуре придется LD_LIBRARY_PATH править, хотя везде написано что это антигуманно. Или еще как-нибудь заставлять лоадер либы рядом с приложением искать.
А вот если я захочу вместо Qt4.2 поставить Qt4.5, сломается что нибудь в системе или нет? И как это сделать, не поломав голову менеджеру пакетов?
no subject
Date: 2009-05-09 07:25 am (UTC)Ну, и явной точки нету в PATH тоже. Это гибче — добавь system-wide LD_LIBRARY_PATH=. и будет как в винде. А теперь сделай в винде наоборот :)