LINUX.ORG.RU

Работа Qt-приложений на сервере


0

2

Есть проблема. Имеется консольное приложение, написанное на Qt. Надо его запустить на сервере (Ubuntu Server, 11.04). При попытке его запуска вылетает ошибка сегментирования:

namikiri@kuroserver:~/amadeo$ ./amadeoexec
Ошибка сегментирования

Как я понял, надо доставлять библиотеки Qt. При попытке установки «libqt4-dev» за ними тащится X11 сервер, pulseaudio и прочая ересь, ибо ставится полностью весь пакет.

Каким образом можно установить базовые библиотеки Qt (qtCore) и остальные, не требующие гуя?

> Ошибка сегментирования

Как я понял, надо доставлять библиотеки Qt.

ЕЯПО, это никак не связано. Если бы не хватало, он бы написал что-то вроде «хочу libQt4.so».

anonymous
()

strace ./amadeoexec

И внимательно читаем, что там получается. Если не понимаете, запустите:
strace ./amadeoexec 2>strace.log и выложите содержимое strace.log на http://paste.org.ru/

Также было бы интересно посмотреть на вывод ldd ./amadeoexec

AITap ★★★★★
()

Если б не хватало либы, он бы и писал, что не хватает либы. Тут дело в чем-то бругом. Например, пакет был собран в 64битной системе, а у тебя на сервере 32. Ну и т.д. Арзитектуры там разные, еще че.

Zhbert ★★★★★
()
Ответ на: комментарий от anonymous

Скомпилил HelloWorld. Именно это он и говорит:

namikiri@kuroserver:~$ ./un
./un: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory
namikiri
() автор топика
Ответ на: комментарий от Zhbert

Например, пакет был собран в 64битной системе, а у тебя на сервере 32. Ну и т.д. Арзитектуры там разные, еще че.

В этом случае тоже бы писало, что не хватает либы, ну если конечно в бубунте в очередно раз что-нибудь не намудрили.

В общем надо strace смотреть и стек в gdb.

Reset ★★★★★
()
Ответ на: комментарий от damnemall

После установки libqt4-core «Hello, World» успешно запустился.

Но всё равно, в том проекте ошибка сегментирования.

namikiri
() автор топика

Зачем тебе libqt4-dev? Тебе нужно скорее libqt4-core.

Pavval ★★★★★
()
Ответ на: комментарий от namikiri

> Но всё равно, в том проекте ошибка сегментирования.

Скорее всего, проблема не в библиотеках, в таком случае.

damnemall
()
Ответ на: комментарий от Pavval

Выполнил gdb, он мне вообще вон что выдал:

"/home/namikiri/amadeo/amadeoexec": not in executable format: Формат файла не распознан

как блин не распознан если на десктопе запускается?..

namikiri
() автор топика

> При попытке установки «libqt4-dev» за ними тащится X11 сервер, pulseaudio и прочая ересь, ибо ставится полностью весь пакет.

Мда, в убунте действительно ужасные зависимости. Подредактируй пакет и выкинь из зависимостей всю лишнюю фигню.

drull ★☆☆☆
()
Ответ на: комментарий от namikiri

Я или проглядел, или это не тот мейкфайл, которым собирался бинарник, потому что в нём нет директивы для статической линковки.

В любом случае, ось на сервере считает, что ваш бинарник какой-то совершенно неправильный.

mv ★★★★★
()

Не по FTP случайно заливали? А то были случаи, что в текстовом режиме лили бинарь, со всеми вытекающими...

Diffor
()
Ответ на: комментарий от drull

Все нормально там с зависимостями :) Проверено...

Jetty ★★★★★
()

убедись что на серв выкладываешь релизный бинарник а не дебажный

VladimirMalyk ★★★★★
()
Ответ на: комментарий от anonymous

md5sum не совпадают >_< передавал по FTP средствами FileZilla.

namikiri
() автор топика
Ответ на: комментарий от anonymous

Всем большое спасибо. Проблема была в передаче по FTP: требовался бинарный режим, а клиент по умолчанию передавал в ASCII. Проблема решена, сервер запущен.

namikiri
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.