crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Что нужно для Linux приложения?, Разделяемые библиотеки
kibsoft
  опции профиля:
сообщение 26.4.2010, 21:29
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Linux приложению не хватит просто, чтобы все зависимости лежали в /use/lib ?
Зависимости определил через ldd.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
quarz
  опции профиля:
сообщение 27.4.2010, 3:21
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 3.11.2009
Пользователь №: 1202

Спасибо сказали: 5 раз(а)




Репутация:   0  


Цитата(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
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 233
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


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

есть такой файлик в RedHat-подобный дистрибутивах /etc/ld.so.conf. Занести туда можно любой путь к библиотекам. После выполнить ldconfig и вуаля. Думаю, что файлик и в других дистрах есть
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 27.4.2010, 9:48
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Цитата(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
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 233
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(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
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Переписал, но ошибки те же.. :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 27.4.2010, 11:20
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 233
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


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

какая система ? Если можно, содержимое файлика. Еще, можно попробовать убрать /usr/lib и опять набрать ldconfig. Это вообще стандартный путь. Да, ldconfig надеюсь запускается от root ? (это уж так на всякий случай).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
KuZ
  опции профиля:
сообщение 27.4.2010, 15:07
Сообщение #8


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 13.12.2009
Пользователь №: 1303

Спасибо сказали: 0 раз(а)




Репутация:   0  


Для себя делал заметку, делалось под убунту 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 " т.к. новичек линуксе.
Причина редактирования: отформатировал список
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.9.2020, 11:55