Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Что нужно для Linux приложения?

Автор: kibsoft 26.4.2010, 21:29

Linux приложению не хватит просто, чтобы все зависимости лежали в /use/lib ?
Зависимости определил через ldd.

Автор: quarz 27.4.2010, 3:21

Цитата(kibsoft @ 26.4.2010, 22:29) *
Linux приложению не хватит просто, чтобы все зависимости лежали в /use/lib ?
Зависимости определил через ldd.


библиотеки ищутся в путях, указанных в LD_LIBRARY_PATH.
Я тоже в свое время искал решение этой проблемы - где размещать библиотеки (.so кьюта). Остановился на таком подходе: программа запускается через скрипт .sh, в котором перед запуском бинарника к LD_LIBRARY_PATH дописываю свои пути к библиотекам.

А вот тут хорошо описано как это все устроено в линуксе
http://www.opennet.ru/base/dev/shared_lib_intro.txt.html

Автор: maint 27.4.2010, 5:47

Цитата(kibsoft @ 27.4.2010, 2:29) *
Linux приложению не хватит просто, чтобы все зависимости лежали в /use/lib ?
Зависимости определил через ldd.

есть такой файлик в RedHat-подобный дистрибутивах /etc/ld.so.conf. Занести туда можно любой путь к библиотекам. После выполнить ldconfig и вуаля. Думаю, что файлик и в других дистрах есть

Автор: kibsoft 27.4.2010, 9:48

Цитата(maint @ 27.4.2010, 6:47) *
Цитата(kibsoft @ 27.4.2010, 2:29) *
Linux приложению не хватит просто, чтобы все зависимости лежали в /use/lib ?
Зависимости определил через ldd.

есть такой файлик в RedHat-подобный дистрибутивах /etc/ld.so.conf. Занести туда можно любой путь к библиотекам. После выполнить ldconfig и вуаля. Думаю, что файлик и в других дистрах есть

В файл добавил строчку: include /usr/lib. ldconfig выдал это:
Цитата
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtXmlPatterns.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtNetwork.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtGui.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtWebKit.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtXml.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtCore.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtDBus.so.4


Автор: maint 27.4.2010, 10:18

Цитата(kibsoft @ 27.4.2010, 15:48) *
Цитата(maint @ 27.4.2010, 6:47) *
Цитата(kibsoft @ 27.4.2010, 2:29) *
Linux приложению не хватит просто, чтобы все зависимости лежали в /use/lib ?
Зависимости определил через ldd.

есть такой файлик в RedHat-подобный дистрибутивах /etc/ld.so.conf. Занести туда можно любой путь к библиотекам. После выполнить ldconfig и вуаля. Думаю, что файлик и в других дистрах есть

В файл добавил строчку: include /usr/lib. ldconfig выдал это:
Цитата
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtXmlPatterns.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtNetwork.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtGui.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtWebKit.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtXml.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtCore.so.4
/sbin/ldconfig.real: Can't unlink /usr/lib/libQtDBus.so.4


include - это включение файлов с описанием мест расположения библиотек.
Например include /home/libs/*.conf
Проще с каждой новой строчки в этот файлик добавить расположение. Напимер:
/usr/local/lib
/opt/lib
/home/lib

Автор: kibsoft 27.4.2010, 10:54

Переписал, но ошибки те же.. :(

Автор: maint 27.4.2010, 11:20

Цитата(kibsoft @ 27.4.2010, 16:54) *
Переписал, но ошибки те же.. :(

какая система ? Если можно, содержимое файлика. Еще, можно попробовать убрать /usr/lib и опять набрать ldconfig. Это вообще стандартный путь. Да, ldconfig надеюсь запускается от root ? (это уж так на всякий случай).

Автор: KuZ 27.4.2010, 15:07

Для себя делал заметку, делалось под убунту 9.10 " в терминале
1) sudo su
2) вводим пароль
3) создаем файл touch /etc/ld.so.conf.d/qt4.conf
4) echo "/home/kuz/Projects/qwt-5.2.0/lib" > /etc/ld.so.conf.d/qt4.conf " т.к. новичек линуксе.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)