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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Как собрать и запустить 32битное приложение Qt в 64битном Linux?  (Прочитано 27663 раз)
mail1
Гость
« Ответ #15 : Апрель 13, 2016, 14:53 »

Следующее должно работать для Debian-based дистрибутивов, как собственно Debian, Ubuntu или AstraLinux:

Проверьте, поддерживает ли ваш дистрибутив multiarch:

Код
Bash
apt-cache search multiarch
apt-get install multiarch-support
apt-get install libc6:i386
 

Обратите внимание на суффикс ":i386". Такой суффикс надо добавлять к имени пакета, чтобы указать его архитектуру, если она не дефолтная.

Поищите нужные вам пакеты:

Код
Bash
apt-cache search qt5 | grep dev
 

Установите 32-битные версии нужных пакетов:

Код
Bash
apt-get install qt5-default:i386
apt-get install something-else:i386
 

Часто, но не всегда, вам нужно будет устанавливать пакеты с именем, кончающимся на "-dev". В этих пакетах содержатся хедеры и статические библиотеки.
« Последнее редактирование: Апрель 13, 2016, 15:00 от mail1 » Записан
AlekseyK
Гость
« Ответ #16 : Апрель 13, 2016, 20:11 »

По моему нужно искать пакеты с суффиксом i686
Записан
mail1
Гость
« Ответ #17 : Апрель 14, 2016, 11:50 »

Я тут посмотрел, так в этом АстраЛинуксе вообще 32-битных пакетов нет, только 64-битные. Поэтому, прежде чем пользоваться моей инструкцией, надо подключить репозиторий Debian, который содержит 32-битные пакеты. Ссылку, как это сделать, уже приводили: http://www.sakryukin.ru/?module=articles&c=articles&b=8&a=45 .
Записан
mail1
Гость
« Ответ #18 : Апрель 14, 2016, 12:07 »

И, опять таки, непонятно, как ваше начальство предполагает использовать 32-битную версию вашей программы на АстраЛинукс, если он 64-bit-only. Предположим, поставите вы на вашу девелоперскую машину нужные 32-битные пакеты из Дебиана, соберёте свою прогу. И заработает она на вашей машине. А на "обычной" машине с АстраЛинуксом так и не заработает, потому что там 32-битных библиотек то и не будет! Значит, придётся и туда все нужные библиотеки предварительно ставить. А это ведь не только несколько Qt-библиотек. Я смотрю, у вас там и LibPNG, и PCRE, и ещё несколько, да ещё и базовыe библиотеки понадобятся, типа libc, libm, libdl. Или все нужные библиотеки предполагается не устанавливать в систему обычным образом, а таскать вместе с самой прогой? Или статически вкомпилить? Так Glibc статическую линковку по факту не поддерживает. В общем, странное у вас начальство. С одной стороны, не знает чего хочет, а с другой стороны, достаточно компетентно, чтобы давать советы типа "переcобери Qt".
Записан
Andrey23168
Гость
« Ответ #19 : Апрель 15, 2016, 15:49 »

Я был сосредоточен в сборке qt. И нужная мне версия qt-everywhere-opensource-src-5.3.0.tar.gz. Собираться категорически отказывается, и после стены текста пишет:
Could not find qmake configuration file linux-g++-32.
Error processing project file: /home/jo/Документы/qt-everywhere-opensource-src-5.3.0/qt.pro
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /usr/local/Qt-5.3.0
Prior to reconfiguration, make sure you remove any leftovers from
the previous build.
root@astracompclean:/home/jo/Документы/qt-everywhere-opensource-src-5.3.0# make
make: *** Не заданы цели и не найден make-файл.  Останов.
Что-то не так...

И, опять таки, непонятно, как ваше начальство предполагает использовать 32-битную версию вашей программы на АстраЛинукс, если он 64-bit-only. Предположим, поставите вы на вашу девелоперскую машину нужные 32-битные пакеты из Дебиана, соберёте свою прогу. И заработает она на вашей машине. А на "обычной" машине с АстраЛинуксом так и не заработает, потому что там 32-битных библиотек то и не будет! Значит, придётся и туда все нужные библиотеки предварительно ставить. А это ведь не только несколько Qt-библиотек. Я смотрю, у вас там и LibPNG, и PCRE, и ещё несколько, да ещё и базовыe библиотеки понадобятся, типа libc, libm, libdl. Или все нужные библиотеки предполагается не устанавливать в систему обычным образом, а таскать вместе с самой прогой? Или статически вкомпилить? Так Glibc статическую линковку по факту не поддерживает. В общем, странное у вас начальство. С одной стороны, не знает чего хочет, а с другой стороны, достаточно компетентно, чтобы давать советы типа "переcобери Qt".

Как обычно: работать должно! а как я это сделаю: моя проблема.

Я попытался добавить репозиторий дебиана по инструкции(почему-то Multimedia Wheezy не заработал, не отдает ключ). Полез в менеджер пакетов. Он предлагал обновить обновить библиотеки qt с версии 5.3.0 до 5.5.1 и ничего не знал о пакетах с i386.
В терминале я писал что вы рекомендовали. Но так и не обнаружил qt и 32 или i386(i686) в одном названии пакета. Толи лыжи не едут, толи я дурак.
Попытавшись понаставить разных новых интересных пакетов, я наткнулся на ошибки в менеджере при попытке их поставить. И теперь у меня несколько пакетов с ошибками.
Надеюсь в понедельник мой разум прояснится и я смогу что-то сделать.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #20 : Апрель 15, 2016, 18:01 »

Как обычно: работать должно! а как я это сделаю: моя проблема.

Если есть исходный код, то не должно быть проблемы его собрать на 64-бит. Я думал сперва, что нужно использовать какие-то 32-битные блобы, но раз исходники есть, то почему же нужно именно 32-бит?

Я сомневаюсь, что ты сможешь добавить i386 пакеты из Debian. Просто гадаю - попробуй добавить репозитории Debian в sources.list (не забывая про праильные названия дистрибутива, соответствующего твоей версии Astra - это wheezy, jessy?), и потом сделать

Код:
sudo dpkg --add-architecture i386
sudo apt-get update
Записан
mail1
Гость
« Ответ #21 : Апрель 15, 2016, 18:07 »

Как обычно: работать должно! а как я это сделаю: моя проблема.

Такой подход предполагает невысокий уровень знаний технической части (в данном случае линукса). А невысокий уровень знаний предполагает невозможность совета "пересобери Qt".

Я попытался добавить репозиторий дебиана по инструкции(почему-то Multimedia Wheezy не заработал, не отдает ключ).

Да, получение ключа в той статье описано довольно экстравагантно. Качать deb-пакет вручную, да ещё с другого сервера (ru против дефолтного). Сейчас версии тех deb-пакетов обновились, урлы стали невалидными.

Лучше установите ключи вот так:

Код
Bash
apt-get update
apt-get install debian-archive-keyring
apt-get install deb-multimedia-keyring
 

При установке apt-get будет ругаться, что подписи не могут быть проверены. Это нормально, ведь мы как раз и устанавливаем ключи. После установки ключей ругани больше быть не должно.

Кстати, репозиторий deb-multimedia вам, скорее всего не нужен.

Полез в менеджер пакетов.
Он предлагал обновить обновить библиотеки qt с версии 5.3.0 до 5.5.1 и ничего не знал о пакетах с i386.

Пишите конкретнее. "Менеджер пакетов" может означать множество различных програм: dpkg, apt-get, synaptic, muon, Ubuntu Store, etc. Соответственно, я ничего не понял.

В терминале я писал что вы рекомендовали.

Пишите конкретнее. Я вам привёл конкретные команды. И не одну. Соответственно, вам надо было написать конкретные ошибки, если какая-то команда не сработала. А перед этим - почитать документацию по команде, с надеждой догадаться, что же пошло не так.

Вообще, не стесняйтесь читать документацию. Я знаю, в винде это не принято. А в линуксе - очень даже. В Винде эффективен метод проб и ошибок - потыкать там, сям, авось заработает. В линуксе эффективнее именно чтение документации. Понятно, сложно перестроиться. Но надо. Другой монастырь, другой уставъ. Не перестроитесь - будете много времени зря терять.

Можете начать отсюда: http://maddog.sitengine.ru/smart-question-ru.html

Но так и не обнаружил qt и 32 или i386(i686) в одном названии пакета. Толи лыжи не едут, толи я дурак.

А вот вполне конкретно написано. И можно конкретно ответить:

"i386" и не должно быть в названии пакета. "i386" - это название архитектуры. Например, у меня есть 2 пакета с одним названием, но разными архитектурами:

Код
Bash
$ dpkg -l libc6
...
ii  libc6:amd64                           2.21-0ubuntu4.1         amd64                   GNU C Library: Shared libraries
ii  libc6:i386                            2.21-0ubuntu4.1         i386                    GNU C Library: Shared libraries
 

Попытавшись понаставить разных новых интересных пакетов, я наткнулся на ошибки в менеджере при попытке их поставить. И теперь у меня несколько пакетов с ошибками.

К сожалению, опять неконкретно. Что было сделано? В чём проявились ошибки? Нифига непонятно.

Общий совет: читать документацию по командам:

Код
Bash
dpkg --remove ...
apt-get remove ...
apt-get install -f
 
Записан
AlekseyK
Гость
« Ответ #22 : Апрель 15, 2016, 19:41 »

А это пробовал: Qt Online Installer for Linux 32-bit (22.9 MB)?

Ещё информация:
http://stackoverflow.com/questions/34513838/qt5-32-bit-runtime-libraries-not-present-on-64-bit-multiarch-linux-mint
http://askubuntu.com/questions/279421/how-can-i-install-qt-5-x-on-12-04-lts
Записан
Andrey23168
Гость
« Ответ #23 : Апрель 20, 2016, 16:16 »

Прошу простить меня за некачественное сообщение, я 3 дня сидел в терминале ковырял verbose. И уже плохо соображал. Сейчас постараюсь подробно все написать.
В общем, я достиг некоторых успехов. После множественных попыток настроить, понаставить репозиториев и все что только можно установить из менеджера пакетов synaptic. Мне удалось сконфигурировать, собрать и установить qt 5.3.0. И только я обрадовался, как меня подстерегла проблема где я не ожидал. Программы не запускаются даже на этой машине!!!
Qt Creator собирает программу, но жалуется:
Запускается /home/jo/Документы/build-hellotest32-Desktop-Release/hellotest32...
This application failed to start because it could not find or load the Qt platform plugin "xcb".

Available platform plugins are: linuxfb, minimal, offscreen.

Reinstalling the application may fix this problem.
Программа неожиданно завершилась.
/home/jo/Документы/build-hellotest32-Desktop-Release/hellotest32 завершился крахом

Однако. В менеджере пакетов есть как раз такой пакет: xcb. В описании которого написано что: «Pigeon holes for your cut and paste selections.»... Причем здесь голуби?  И дыры? Энциклопедический словарь по металлургии говорит что: [pigeon hole (flaw)] дефект проката в виде выходящей на поверхность полости, образованной в результате раскрытия внутренних трещин при деформировании …
Будучи немного обескураженным я отметил его для установки. Установился, но написал кучу ошибок(как обычно). Я отметил его для переустановки и записал их:
[spoiler]xcb отметить для переустановки. Применить:
fly-admin-autostart (версия 0.1.1) будет обновлён до версии 0.1.4
fly-fm-libs (версия 1.2.6) будет обновлён до версии 1.3.6
fly-term (версия 1.2.5) будет обновлён до версии 1.2.8
flyqt5platformtheme (версия 1.0.9) будет обновлён до версии 1.2.0-1
libc-bin (версия 2.13-38+deb7u1astra1) будет обновлён до версии 2.15-0ubuntu10.13astra1
libc-dev-bin (версия 2.13-38+deb7u1astra1) будет обновлён до версии 2.15-0ubuntu10.13astra1
libc6 (версия 2.13-38+deb7u1astra1) будет обновлён до версии 2.15-0ubuntu10.13astra1
libc6-dbg (версия 2.13-38+deb7u1astra1) будет обновлён до версии 2.15-0ubuntu10.13astra1
libc6-dev (версия 2.13-38+deb7u1astra1) будет обновлён до версии 2.15-0ubuntu10.13astra1
libc6-dev-i386 (версия 2.13-38+deb7u1astra1) будет обновлён до версии 2.15-0ubuntu10.13astra1
libc6-i386 (версия 2.13-38+deb7u1astra1) будет обновлён до версии 2.15-0ubuntu10.13astra1
libc6-pic (версия 2.13-38+deb7u1astra1) будет обновлён до версии 2.15-0ubuntu10.13astra1
libc6-prof (версия 2.13-38+deb7u1astra1) будет обновлён до версии 2.15-0ubuntu10.13astra1
libqgsttools-p1 (версия 5.3.0-1astra1) будет обновлён до версии 5.5.1-2astra3
libqt5multimedia5 (версия 5.3.0-1astra1) будет обновлён до версии 5.5.1-2astra3
libqt5multimedia5-plugins (версия 5.3.0-1astra1) будет обновлён до версии 5.5.1-2astra3
libqt5webkit5 (версия 5.3.0+dfsg-2astra2) будет обновлён до версии 5.5.1+dfsg-2astra1
libqt5webkit5-dev (версия 5.3.0+dfsg-2astra2) будет обновлён до версии 5.5.1+dfsg-2astra1
qt5-style-plugins (версия 5.0.0~git7bd6205-0astra4) будет обновлён до версии 5.0.0~git7bd6205-0astra6
qtcreator (версия 3.1.1+dfsg-1) будет обновлён до версии 3.6.0+dfsg-0astra1
qtcreator-data (версия 3.1.1+dfsg-1) будет обновлён до версии 3.6.0+dfsg-0astra1
libkf5itemviews-data (версия 5.16.0-1) будет установлен
xcb (версия 2.4-4.3) будет переустановлен

Некоторые из пакетов не могут быть получены с сервера(ов).
Продолжить, пропустив эти пакеты? Да:
E: /var/cache/apt/archives/libkf5itemviews-data_5.16.0-1_all.deb: попытка перезаписать «/usr/share/locale/bn_IN/LC_MESSAGES/kitemviews5_qt.qm», который уже имеется в пакете libkf5itemviews5-data:amd64 4.99.0-0astra1

W: Не удалось получить http://ftp://mirror.yandex.ru/astra/current/orel/repository/pool/main/e/eglibc/libc-dev-bin_2.15-0ubuntu10.13astra1_amd64.deb
  Не удалось найти IP-адрес для «mirror.yandex.ru»

--//-- (Много одинаковых ошибок)

W: Не удалось получить http://ftp://mirror.yandex.ru/astra/current/orel/repository/pool/main/q/qtcreator/qtcreator_3.6.0+dfsg-0astra1_amd64.deb
  Не удалось найти IP-адрес для «mirror.yandex.ru»


Подробности:
debconf: не удалось инициализировать интерфейс: Gnome
debconf: (Can't locate Gtk2.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /usr/share/perl5/Debconf/FrontEnd/Gnome.pm line 91, <> line 2.)
debconf: будет использован интерфейс: Dialog
(Чтение базы данных … на данный момент установлено 174979 файлов и каталогов.)
Подготовка к замене пакета xcb 2.4-4.3 (используется файл …/archives/xcb_2.4-4.3_amd64.deb) …
Распаковывается замена для пакета xcb …
Распаковывается пакет libkf5itemviews-data (из файла …/libkf5itemviews-data_5.16.0-1_all.deb) …
dpkg: ошибка при обработке параметра /var/cache/apt/archives/libkf5itemviews-data_5.16.0-1_all.deb (--unpack):
 попытка перезаписать «/usr/share/locale/bn_IN/LC_MESSAGES/kitemviews5_qt.qm», который уже имеется в пакете libkf5itemviews5-data:amd64 4.99.0-0astra1
Обрабатываются триггеры для menu …
Обрабатываются триггеры для man-db …
debconf: не удалось инициализировать интерфейс: Gnome
debconf: (Can't locate Gtk2.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /usr/share/perl5/Debconf/FrontEnd/Gnome.pm line 91.)
debconf: будет использован интерфейс: Dialog
При обработке следующих пакетов произошли ошибки:
 /var/cache/apt/archives/libkf5itemviews-data_5.16.0-1_all.deb
W: Не удалось получить http://ftp://mirror.yandex.ru/astra/current/orel/repository/pool/main/e/eglibc/libc-dev-bin_2.15-0ubuntu10.13astra1_amd64.deb
  Не удалось найти IP-адрес для «mirror.yandex.ru»

--//--

W: Не удалось получить http://ftp://mirror.yandex.ru/astra/current/orel/repository/pool/main/q/qtcreator/qtcreator_3.6.0+dfsg-0astra1_amd64.deb
  Не удалось найти IP-адрес для «mirror.yandex.ru»


E: Sub-process /usr/bin/dpkg returned an error code (1)
Ошибка при установке пакета. Попытка восстановления:
dpkg: зависимости пакетов не позволяют настроить пакет qml-module-qtquick-layouts:amd64:
 qml-module-qtquick-layouts:amd64 зависит от libc6 (>= 2.14), однако:
  Версия libc6:amd64 в системе 2.13-38+deb7u1astra1.

dpkg: ошибка при обработке параметра qml-module-qtquick-layouts:amd64 (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет qttools5-dev-tools:
 qttools5-dev-tools зависит от libc6 (>= 2.14), однако:
  Версия libc6:amd64 в системе 2.13-38+deb7u1astra1.

--//--

dpkg: ошибка при обработке параметра qml-module-qtquick-window2:amd64 (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: слишком много ошибок — останавливаемся
Обрабатываются триггеры для menu …
При обработке следующих пакетов произошли ошибки:
 qml-module-qtquick-layouts:amd64
 qttools5-dev-tools
 libqt5opengl5:amd64
 libqt5quickwidgets5:amd64
 libqt5designer5:amd64
 libqt5opengl5-dev:amd64
 libqt5test5:amd64
 libqt5quick5:amd64
 libqt5declarative5:amd64
 libqt5xml5:amd64
 qtbase5-dev-tools
 libqt5positioning5-plugins:amd64
 libqt5concurrent5:amd64
 libqt5sql5-sqlite:amd64
 libqt5gui5:amd64
 qmlscene
 qtdeclarative5-dev-tools
 libqt5xcbqpa5:amd64
 libqt5sql5-odbc:amd64
 libqt5widgets5:amd64
 libicu52:amd64
 libqt5quickparticles5:amd64
 libqt5qml5:amd64
 libqt5positioning5:amd64
 qml-module-qtquick2:amd64
 libqt5sql5:amd64
 qt5-qmake:amd64
 libqt5sql5-mysql:amd64
 qtbase5-dev:amd64
 libkf5itemviews5:amd64
 libqt5sensors5-dev:amd64
 qtdeclarative5-dev:amd64
 libqt5dbus5:amd64
 libevdev2
 libqt5sensors5:amd64
 libqbscore1
 libqt5svg5:amd64
 libqt5quicktest5:amd64
 libqt5printsupport5:amd64
 libqt5script5:amd64
 qdbus-qt5
 qml-module-qtquick-controls:amd64
 libqt5scripttools5:amd64
 libqt5core5a:amd64
 juffed
 qtquick1-5-dev-tools
 libqt5egldeviceintegration5:amd64
 libqt5network5:amd64
 libqt5sql5-tds:amd64
 libqt5xmlpatterns5:amd64
 qml-module-qtquick-window2:amd64
Обработка остановлена из-за слишком большого количества ошибок.

Некоторые из пакетов не могут быть получены с сервера(ов).
Продолжить, пропустив эти пакеты? Да:
E: Internal Error, No file name for xcb:amd64

W: Не удалось получить http://ftp://mirror.yandex.ru/astra/current/orel/repository/pool/non-free/f/fly-admin-autostart/fly-admin-autostart_0.1.4_amd64.deb
  Не удалось найти IP-адрес для «mirror.yandex.ru»

--//--

W: Не удалось получить http://ftp://mirror.yandex.ru/astra/current/orel/repository/pool/main/e/eglibc/libc6_2.15-0ubuntu10.13astra1_amd64.deb
  Не удалось найти IP-адрес для «mirror.yandex.ru
Записан
Andrey23168
Гость
« Ответ #24 : Апрель 20, 2016, 16:20 »

Эта часть текста у меня не отображается в одном сообщении. Извиняюсь если только у меня.
После этого система начала вести себя странно. Перестала вызывать аналог пуска и запускать программы. Еле ошибки спас.
Я решил проверить зависимости программы которую собрал, но не запустил Qt Creator. Результат поверг меня в шок:
jo@astra:~$ sudo ldd /home/jo//Документы/build-hellotest32-Desktop-Release/hellotest32
        linux-gate.so.1 =>  (0xf7748000)
        libQt5Widgets.so.5 => not found
        libQt5Gui.so.5 => not found
        libQt5Core.so.5 => not found
        libGL.so.1 => /usr/lib32/libGL.so.1 (0xf76bf000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf76a4000)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf75b7000)
        libm.so.6 => /lib32/libm.so.6 (0xf758c000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf756f000)
        libc.so.6 => /lib32/libc.so.6 (0xf73ec000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xf72cf000)
        libXext.so.6 => /usr/lib32/libXext.so.6 (0xf72c0000)
        libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf72ba000)
        libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf72b7000)
        libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf72b2000)
        libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf72a8000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf72a3000)
        /lib/ld-linux.so.2 (0xf774b000)
        libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7289000)
        librt.so.1 => /lib32/librt.so.1 (0xf7280000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xf727d000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7278000)
Как это нету?? Ну вот же:
jo@astra:~$ sudo file /usr/local/Qt-5.3.0/lib/libQt5Widgets.so.5
/usr/local/Qt-5.3.0/lib/libQt5Widgets.so.5: symbolic link to `libQt5Widgets.so.5.3.0'
jo@astra:~$ sudo file /usr/local/Qt-5.3.0/lib/libQt5Widgets.so.5.3.0
/usr/local/Qt-5.3.0/lib/libQt5Widgets.so.5.3.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x9f4021690223c068e11a51faac3887cfb52326bc, stripped

Ну как так?
Теперь, система запускается только в режиме командной строки. Видимо виноват этот пакет xcb. Creator завел меня в ловушку! Какой он коварный!
Подскажите пожалуйста:
1) В этой ошибке xcb, виновата нехватка этого плагина? То есть Qt нормально собрался и мог бы работать если бы у меня была этот плагин? Или собралось не так?
2) Почему библиотеки: libQt5Widgets.so.5, libQt5Gui.so.5, libQt5Core.so.5 => not found? И как сделать их found?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #25 : Апрель 20, 2016, 17:01 »

Код:
export LD_LIBRARY_PATH=/usr/local/Qt-5.3.0/lib
.../hellotest32

Чтобы такого не было, при конфигурировании Qt можно указать -rpath. Про xcb - это не пакет, а Qt плагин, который должен у тебя лежать в /usr/local/Qt-5.3.0/plugins/platforms (как-то так). Если при запуске программа загрузилась не с твоей версий Qt, то и плагин может быть не найден. Пакет xcb тут ни при чём.
« Последнее редактирование: Апрель 20, 2016, 17:03 от Alex Custov » Записан
mail1
Гость
« Ответ #26 : Апрель 21, 2016, 12:22 »

Код:
export LD_LIBRARY_PATH=/usr/local/Qt-5.3.0/lib
.../hellotest32

Чтобы не выставлять LD_LIBRARY_PATH каждый раз - можно добавить файлик в каталог /etc/ld.so.conf.d/ и запустить ldconfig. И то, и другое - от рута, естественно.
Записан
mail1
Гость
« Ответ #27 : Апрель 21, 2016, 13:01 »

Однако. В менеджере пакетов есть как раз такой пакет: xcb. В описании которого написано что: «Pigeon holes for your cut and paste selections.»... Причем здесь голуби?  И дыры? Энциклопедический словарь по металлургии говорит что: [pigeon hole (flaw)] дефект проката в виде выходящей на поверхность полости, образованной в результате раскрытия внутренних трещин при деформировании …

А надо было всего лишь прочитать описание полностью:
Цитировать
xcb provides easy access to the cut buffers built into every X server.
 It allows the buffers to be manipulated either via the command line,
 or with the mouse in a point and click manner. This version is also
 utf-8 capable.

Цитировать
Некоторые из пакетов не могут быть получены с сервера(ов).
Продолжить, пропустив эти пакеты? Да:

Так делать НЕЛЬЗЯ. Особенно новичку. Поломок в пакетной системе надо ИЗБЕГАТЬ ВСЕМИ СИЛАМИ, а если он всё же случился - ИСПРАВЛЯТЬ НЕМЕДЛЕННО. Прежде, чем решать любые другие проблемы. Пожалуйста, не игнорируйте этот совет.

Ещё раз повторюсь: читайте то, что Линукс вам пишет. Он пишет это для помощи вам же. Здесь нельзя бездумно жать кнопку "Дальше" и игнорировать предупреждения.

Цитировать
E: /var/cache/apt/archives/libkf5itemviews-data_5.16.0-1_all.deb: попытка перезаписать «/usr/share/locale/bn_IN/LC_MESSAGES/kitemviews5_qt.qm», который уже имеется в пакете libkf5itemviews5-data:amd64 4.99.0-0astra1

Очень плохо. Читать документацию по

Код
Bash
apt-get install -f
 

Когда исправите, сделайте полный

Код
Bash
apt-get upgrade
 


Цитировать
W: Не удалось получить http://ftp://mirror.yandex.ru/astra/current/orel/repository/pool/main/e/eglibc/libc-dev-bin_2.15-0ubuntu10.13astra1_amd64.deb
  Не удалось найти IP-адрес для «mirror.yandex.ru»

--//-- (Много одинаковых ошибок)

Серьёзно? Вы устанавливаете что-то из интернета без интернета? У вас уже куча проблем в системе. Вместо того, чтобы решать их, вы создаёте себе новые. Неправильная стратегия.

Цитировать
dpkg: слишком много ошибок — останавливаемся
...
Обработка остановлена из-за слишком большого количества ошибок.
...

Очень плохо. Фиксите пакетную систему, пока не получилось ещё хуже.

Цитировать
После этого система начала вести себя странно. Перестала вызывать аналог пуска и запускать программы. Еле ошибки спас.

Ожидаемый результат поломки пакетной системы. Фиксите пакетную систему, пока не получилось ещё хуже.

Цитировать
        libQt5Widgets.so.5 => not found
        libQt5Gui.so.5 => not found
        libQt5Core.so.5 => not found

Почему библиотеки: libQt5Widgets.so.5, libQt5Gui.so.5, libQt5Core.so.5 => not found? И как сделать их found?

/etc/ld.so.conf.d/ , как я писал выше. Но сначала пофиксите пакетную систему.

Цитировать
Ну как так?
Теперь, система запускается только в режиме командной строки. Видимо виноват этот пакет xcb. Creator завел меня в ловушку! Какой он коварный!

Очередное следствие поломки пакетной системы. А ведь Линукс сопротивлялся вашим деструктивным дествиям, ворнинги вам выдавал! Но вы их коварно проигнорировали! Улыбающийся

Пакет xcb (вероятно сокращение для X ClipBoard) - назван по дурацки, да. Путает пользователя с libxcb, который X C Binding/X Client Binding. Но ломать пакетную систему, игнорируя все предупреждения, всё равно не стоило!
Записан
Andrey23168
Гость
« Ответ #28 : Апрель 29, 2016, 16:36 »

Наконец! я все же собрал, более-менее рабочий qt. И даже програмки работают. Надеюсь, в итоге не выяснится, что нужная мне часть qt отвалилась…
Всем кто мне помогал, большое спасибо. Если бы не вы я до сих пор ковырял этот кошмар.
Как я это сделал, сам не знаю. Просто в один момент пропала ошибка qt.conf и начались проблемы с xcb. В тот момент я не понял, что я такого делал чтобы ее убрать. Мне кажется, что ./configure делается не заново после неудачи. И если не удался, так и будет писать эту ошибку, пока что-нибудь не поменять. Если будут проблемы с xcb надо достать 32бит библиотеку libxcb.so или как-то так. И при конфигурации добавить –qt-xcb. В ./configure –help написано что там для него нужно.
Я пытался повторить сей подвиг на другой виртуалке (я предусмотрительно собирал на виртуалке, и поэтому не боялся ее ломать). И мне на ней сыплются ошибки:
In file included from widgets/qcupsjobwidget.cpp:43:0:
widgets/qcupsjobwidhet_p.h:84:21: ошибка: <<QCUPSSupport>> не был декларирован
widgets/qcupsjobwidhet_p.h:84:48: ошибка: expected <<,>> or <<…>> before <<jobHold>>
и т.д.
В прошлый раз я такого не встречал. Так что я пока не знаю, что из того что я делал принесло результат, а я пытался проделать все что мне в этой теме советовали и находил в интернете. Когда будет время и если сам разберусь, напишу как это сделать.
Еще раз спасибо.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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