Russian Qt Forum
Ноябрь 24, 2024, 11:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину  (Прочитано 16710 раз)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #15 : Март 04, 2011, 12:23 »

А если просто в консоли набрать:
LD_LIBRARY_PATH=./lib ldd ./myapp
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
twp
Гость
« Ответ #16 : Март 04, 2011, 12:26 »

наколька я понял проблема с загрузкой sql-драйвера, который скомпилен в виде плагина, а значит LD_LIBRARY_PATH здесь не причем. Для развертывания плагинов нужно руководствоваться этим документом http://doc.qt.nokia.com/latest/deployment-plugins.html
Записан
NOs
Гость
« Ответ #17 : Март 04, 2011, 12:30 »

А если просто в консоли набрать:
LD_LIBRARY_PATH=./lib ldd ./myapp
Код
Bash
nos@nos-desktop:/var/www/rel/release$ LD_LIBRARY_PATH=./lib ldd ./myapp
linux-gate.so.1 =>  (0x00d72000)
libQtWebKit.so.4 => /usr/local/Trolltech/Qt-4.7.0/lib/libQtWebKit.so.4 (0x00d73000)
libQtSql.so.4 => /usr/local/Trolltech/Qt-4.7.0/lib/libQtSql.so.4 (0x0079f000)
libQtXml.so.4 => /usr/local/Trolltech/Qt-4.7.0/lib/libQtXml.so.4 (0x00110000)
libQtGui.so.4 => /usr/local/Trolltech/Qt-4.7.0/lib/libQtGui.so.4 (0x0a282000)
libQtNetwork.so.4 => /usr/local/Trolltech/Qt-4.7.0/lib/libQtNetwork.so.4 (0x00913000)
libQtCore.so.4 => /usr/local/Trolltech/Qt-4.7.0/lib/libQtCore.so.4 (0x00155000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x005c9.....

тоже самое в принципе
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #18 : Март 04, 2011, 12:38 »

Мдя, хрень какая-то....
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
NOs
Гость
« Ответ #19 : Март 04, 2011, 12:59 »

Как еще можно явно указать софтине дергать мои либы???может в проекте что прописать???
Записан
twp
Гость
« Ответ #20 : Март 04, 2011, 14:16 »

я ссылку для кого кинул, неужели так влом почитать, заодно подтянуть инглиш  Подмигивающий Там приведено несколько способов, в частности:
Цитировать
If you want Qt to look in additional places you can add as many paths as you need with calls to QCoreApplication::addLibraryPath(). And if you want to set your own path or paths you can use QCoreApplication::setLibraryPaths(). You can also use a qt.conf file to override the hard-coded paths that are compiled into the Qt library. For more information, see the Using qt.conf documentation. Yet another possibility is to set the QT_PLUGIN_PATH environment variable before running the application. If set, Qt will look for plugins in the paths (separated by the system path separator) specified in the variable.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #21 : Март 04, 2011, 14:23 »

twp, если бы ты внимательно почитал, то понял бы, что дело не только в этом.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
NOs
Гость
« Ответ #22 : Март 04, 2011, 14:36 »

я ссылку для кого кинул, неужели так влом почитать, заодно подтянуть инглиш  Подмигивающий Там приведено несколько способов, в частности:
Цитировать
If you want Qt to look in additional places you can add as many paths as you need with calls to QCoreApplication::addLibraryPath(). And if you want to set your own path or paths you can use QCoreApplication::setLibraryPaths(). You can also use a qt.conf file to override the hard-coded paths that are compiled into the Qt library. For more information, see the Using qt.conf documentation. Yet another possibility is to set the QT_PLUGIN_PATH environment variable before running the application. If set, Qt will look for plugins in the paths (separated by the system path separator) specified in the variable.
МММ я так взглядом окинул посморел в общих чертах что там написанно про директорию к плагину . QCoreApplication::addLibraryPath() не заметил этого . Щас посморю что это дело дает)))
Записан
twp
Гость
« Ответ #23 : Март 04, 2011, 14:42 »

возможно я где-то и напутал. Но вижу что проблема в том что не загружается плагин. ldd тут не поможет ибо он показает зависимости для динамический либ, а плагин как, известно загружается средствами самой Qt. Стало быть проблема скорее всего в том, что не загружается плагин, или (что менее вероятно) плагин загружается, но он не видит либу драйвера ibase
Записан
NOs
Гость
« Ответ #24 : Март 04, 2011, 14:48 »

возможно я где-то и напутал. Но вижу что проблема в том что не загружается плагин. ldd тут не поможет ибо он показает зависимости для динамический либ, а плагин как, известно загружается средствами самой Qt. Стало быть проблема скорее всего в том, что не загружается плагин, или (что менее вероятно) плагин загружается, но он не видит либу драйвера ibase
Нееее суть проблемы в том что моя софтина дергает системные либы а не те которые рядом с бинарником и тут не помогает установка переменных окружения.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #25 : Март 04, 2011, 14:53 »

А по плугину да, twp правильно подметил. Но сначала нужно разобраться с нетянущимися либами.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
twp
Гость
« Ответ #26 : Март 04, 2011, 15:39 »

так может просто использовать системные либы, и обеспеспесить работу плугина (если конечно есть бинарнач совместимость). И походу в системе по каким-то причинам игнорируется LD_LIBRARY_PATH. Вот например что сказано в асисстенте:
Цитировать
You can write a startup script for your application, where you modify the dynamic linker configuration (e.g. adding your application's directory to the LD_LIBRARY_PATH environment variable. Note: If your application will be running with "Set user ID on execution," and if it will be owned by root, then LD_LIBRARY_PATH will be ignored on some platforms. In this case, use of the LD_LIBRARY_PATH approach is not an option).
Может причина в другом. Но там указан еще один способ как заставить грузить свои либы:
Цитировать
You can pass a predetermined path to the -rpath command-line option when linking the application. This will tell the dynamic linker to look in this directory when starting your application.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #27 : Март 04, 2011, 15:44 »

Да, в -rpath может быть проблема. Попробуй пересобрать кьют, отключив эту опцию.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
NOs
Гость
« Ответ #28 : Март 04, 2011, 16:07 »

в общем с либами проблема решилась при копировании линки so.4 не копировались вот и соответственно софтина дергала системные либы так как не находила их в папке. Терь все ок берет либы из моей папки lib. Но драйвер ibase все равно не грузиться. То есть как я понимаю терь проблема в плагине???
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #29 : Март 04, 2011, 16:08 »

Теперь да. twp привел решение.

QCoreApplication::addLibraryPath (app.applicationDirPath () + "/lib/");
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.063 секунд. Запросов: 23.