Название: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 10:56 В общем собрал приложение подсунул в папку с бинарником все необходжимые либы и софтина стартует на другой машине та убунта 10.10 вроде но как тока доходит до загрузки драйвера БД пишет Driver not loaded (ibase) . На машине на которой все собирал все отлично. папка sqldrivers есть в которой соответствующий плагин лежит пробовал уже и скрипт писать который перед стартом устанавливал пути к либам не помогает. В общем как я понял не видит софтина мои компилиные либы а берет системные.
Код: #!/bin/sh Как можно осуществлять перенос приложений в линуксе по аналогии с виндой что б подсунул нужные либы и все ок? Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 11:00 so'шка ibase есть в $PWD/lib?
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 11:06 libfbclient.so - есть
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 11:11 Замени в скрипте ./myapp на ldd ./myapp и посмотри откуда ноги растут.
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 11:17 Из /usr/lib все дергает. Как мне заставит софтину брать мои либы???вторые сутки не могу решить такую простую задачу
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 11:20 Я бы сделал так:
Код
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 11:28 /usr/lib - с вашим скриптом так же. и к тому переменная теперь вообще пустая
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 11:30 У меня работает. ЧЯДНТ?
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 11:33 У меня работает. ЧЯДНТ? чего?Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 11:40 У меня такой запуск программы работает. ЧЯДНТ (http://lurkmore.ru/%D0%A7%D0%AF%D0%94%D0%9D%D0%A2)?
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 11:46 ахахахаха)))ясны))одним словом БЛЕАТЬ!!!))))
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 11:54 Я бы сделал так: Код
а ldd какие пути у Вас выдает??? Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 12:03 вот что у меня
Код
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 12:07 Давай сюда вывод команд:
cat ./start.sh ls ./lib Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 12:13 Код
Код
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 12:23 А если просто в консоли набрать:
LD_LIBRARY_PATH=./lib ldd ./myapp Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: twp от Март 04, 2011, 12:26 наколька я понял проблема с загрузкой sql-драйвера, который скомпилен в виде плагина, а значит LD_LIBRARY_PATH здесь не причем. Для развертывания плагинов нужно руководствоваться этим документом http://doc.qt.nokia.com/latest/deployment-plugins.html (http://doc.qt.nokia.com/latest/deployment-plugins.html)
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 12:30 А если просто в консоли набрать: LD_LIBRARY_PATH=./lib ldd ./myapp Код
тоже самое в принципе Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 12:38 Мдя, хрень какая-то....
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 12:59 Как еще можно явно указать софтине дергать мои либы???может в проекте что прописать???
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: twp от Март 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. Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 14:23 twp, если бы ты внимательно почитал, то понял бы, что дело не только в этом.
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 14:36 я ссылку для кого кинул, неужели так влом почитать, заодно подтянуть инглиш ;) Там приведено несколько способов, в частности: МММ я так взглядом окинул посморел в общих чертах что там написанно про директорию к плагину . QCoreApplication::addLibraryPath() не заметил этого . Щас посморю что это дело дает)))Цитировать 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. Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: twp от Март 04, 2011, 14:42 возможно я где-то и напутал. Но вижу что проблема в том что не загружается плагин. ldd тут не поможет ибо он показает зависимости для динамический либ, а плагин как, известно загружается средствами самой Qt. Стало быть проблема скорее всего в том, что не загружается плагин, или (что менее вероятно) плагин загружается, но он не видит либу драйвера ibase
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 14:48 возможно я где-то и напутал. Но вижу что проблема в том что не загружается плагин. ldd тут не поможет ибо он показает зависимости для динамический либ, а плагин как, известно загружается средствами самой Qt. Стало быть проблема скорее всего в том, что не загружается плагин, или (что менее вероятно) плагин загружается, но он не видит либу драйвера ibase Нееее суть проблемы в том что моя софтина дергает системные либы а не те которые рядом с бинарником и тут не помогает установка переменных окружения.Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 14:53 А по плугину да, twp правильно подметил. Но сначала нужно разобраться с нетянущимися либами.
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: twp от Март 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. Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 15:44 Да, в -rpath может быть проблема. Попробуй пересобрать кьют, отключив эту опцию.
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 16:07 в общем с либами проблема решилась при копировании линки so.4 не копировались вот и соответственно софтина дергала системные либы так как не находила их в папке. Терь все ок берет либы из моей папки lib. Но драйвер ibase все равно не грузиться. То есть как я понимаю терь проблема в плагине???
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 16:08 Теперь да. twp привел решение.
QCoreApplication::addLibraryPath (app.applicationDirPath () + "/lib/"); Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 16:28 Ураааа Драйвер грузится)))Тока терь ошибка Unable to complete network requests to host "localhost"
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 16:31 Ну, это уже дело в сервере.
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 16:34 А под линуксом возможен вариант эмбендед как в винде у меня база в локальном файле. Виндовый аналог софтины пашет а вот с линуксовым куча проблем))
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 16:34 или все же нужно сервер ставить???
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 16:36 Не ту so подкинул?
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 16:38 Не ту so подкинул? можно чуть подробней???Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 04, 2011, 16:40 Ну, там же для embedded отдельная so, которую нужно переименовать. По крайней мере в винде так.
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 04, 2011, 17:14 в линухе такое не прокатывает
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: NOs от Март 09, 2011, 18:06 Победил)Спасибо всем)
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Пантер от Март 09, 2011, 20:32 Освети решение.
Название: Re: UBUNTU 10.04 QT SDK 4.7 проблемы при переносе на другую машину Отправлено: Prm от Март 15, 2011, 07:41 Рядом с исполняемым файлом программы кладу qt.conf, папку с необходимыми либами и плагинами. Что под виндой, что под линуксом (Ubuntu 10.10) - все работает.
|