Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: sergek от Февраль 01, 2015, 11:47



Название: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: sergek от Февраль 01, 2015, 11:47
Коллеги,
собирал Qt, процесс длился всю ночь (не меньше 6 часов). Версия 5.3.2 собиралась на том же железе 3 часа.
Торомозит, кажется, на сборке webkit. Опции при конфигурировании я использовал только -nomake examples -nomake tests.
Кто-нибудь может подтвердить такое значительное увеличение времени?


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: qate от Февраль 02, 2015, 12:56
../qt-everywhere-opensource-src-5.4.0/configure -v -confirm-license -opensource  -qt-xcb -qt-zlib -qt-pcre \
-skip webengine -skip websockets -skip webchannel -skip webkit -skip webkit-examples -no-dbus \
-no-compile-examples -nomake examples -qt-zlib -qt-libpng -qt-libjpeg -openssl-linked -no-qml-debug -release -qt-freetype -v \
--prefix=/home/user1/bin/qt540_linux32 2>&1 | tee conf_run_log

make -j 8


менее получаса


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Alex Custov от Февраль 02, 2015, 14:12
В Qt 5.4 появился модуль QWebEngine, который по размерам ещё больше чем вебкит. Как следствие время компиляции выросло. Про многопоточную сборку уже указали, без этого компилироваться будет, конечно же, полдня.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: __Heaven__ от Февраль 02, 2015, 14:20
Подскажите, в чём преимущество собственной сборки?


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Пантер от Февраль 02, 2015, 14:21
Подскажите, в чём преимущество собственной сборки?
В ней находится только то, что тебе нужно.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: __Heaven__ от Февраль 02, 2015, 14:30
В ней находится только то, что тебе нужно.
Цель - экономия hdd?


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Пантер от Февраль 02, 2015, 14:32
В ней находится только то, что тебе нужно.
Цель - экономия hdd?
Да, с одной стороны. С другой, бывает необходимость юзать приватные классы Кьютовые. Я люблю поддержку БД не плагинами, а вкомпиленными в QtSql.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: __Heaven__ от Февраль 02, 2015, 14:40
бывает необходимость юзать приватные классы Кьютовые
Получается, что это внесение изменений в библиотеку? private -> public.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Пантер от Февраль 02, 2015, 14:42
бывает необходимость юзать приватные классы Кьютовые
Получается, что это внесение изменений в библиотеку? private -> public.
Нет. Допустим, в 4 Кьюте я юзал private/qzipwriter_p.h, но он в 5 Кьюте не вкомпиливается в QtGui без пересборки Кьюта со специальным флагом.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: __Heaven__ от Февраль 02, 2015, 14:50
Я понял, интересно, спасибо.

А как подобную программу распространять? Прикладывать откомпиленные библиотеки? А если у пользователя уже установлены qt библиотеки из репозитория? Частичное дублирование?


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Пантер от Февраль 02, 2015, 14:52
Не уточнил, это все было под Виндой. :) Под Линухом никогда не собирал Кьют - ставлю из портов. Благо, Gentoo, можно use флагами закастомайзить.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: qate от Февраль 02, 2015, 14:57
Подскажите, в чём преимущество собственной сборки?
А как подобную программу распространять?

1. убрать лишнее (например icu ненужен если нет webkit)
2. добавить нужного - например при печати дается отступ в 2см - это много и не убирается
3. поставлять эти свои библиотеки (дабы не зависеть от того что есть у пользователя)
4. и как уже указали - доступ к приватным хеадерем, sql драйвер чуть поправить и т.п.
5. был под венду баг с рендеренгом отдельных шрифтов - я тут тему постил, пересобрал - баг пропал




Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: sergek от Февраль 02, 2015, 20:20
Не уточнил, это все было под Виндой. :) Под Линухом никогда не собирал Кьют - ставлю из портов. Благо, Gentoo, можно use флагами закастомайзить.
В репах свежей версии не бывает. Или я ошибаюсь?


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: sergek от Февраль 02, 2015, 20:23
В Qt 5.4 появился модуль QWebEngine, который по размерам ещё больше чем вебкит. Как следствие время компиляции выросло. Про многопоточную сборку уже указали, без этого компилироваться будет, конечно же, полдня.
Понятно. По времени не засекал, но с -j4 сборку грохнул часов через 6.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Alex Custov от Февраль 02, 2015, 21:05
Понятно. По времени не засекал, но с -j4 сборку грохнул часов через 6.

На процессоре сколько ядер?


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: sergek от Февраль 02, 2015, 22:49
На процессоре сколько ядер?
1 :)


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Alex Custov от Февраль 02, 2015, 22:50
На процессоре сколько ядер?
1 :)

ну так -j не имеет смысла тогда.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: __Heaven__ от Февраль 03, 2015, 15:05
А есть же байка, что j нужно указывать на 1 больше, чем ядер. Подозреваю, что связано с ликвидацией простоя cpu во время работы hdd


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Fregloin от Февраль 04, 2015, 12:30
на одноядерном проце будет очень долго собираться. и опция j ничего в данном случае не даст. подозреваю что еще небось какойто целерон или атлон. все плохо )
пс. на коре7 4770 собирается до 10 минут.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: sergek от Февраль 04, 2015, 13:56
Ну да... Но кто же знал - мне дали адрес и сказали - работай  :(
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 95
model name      : AMD Athlon(tm) 64 Processor 3800+
stepping        : 2
microcode       : 0x62
cpu MHz         : 1000.000
cache size      : 512 KB


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Пантер от Февраль 04, 2015, 14:00
sergek, а бинарную сборку с оффсайта не пойдет заюзать? Хотя, 6 часов сборки - на ночь поставил, утром все пучком.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: sergek от Февраль 04, 2015, 19:28
sergek, а бинарную сборку с оффсайта не пойдет заюзать?
В смысле через инсталлятор? Дома я так и делаю. А на сервере нет иксов, я и не пробовал. К тому же и работаю удаленно, через Putty.
В репозиториях, если не ошибаюсь, последней версии никогда не бывает. Поэтому и собираю из исходников.
Может, я что не понимаю? Просветите.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Alex Custov от Февраль 04, 2015, 19:36
Может, я что не понимаю? Просветите.

Ставишь на своей машине из инсталлятора например в /opt/Qt-5.4.0. Потом тупо запаковываешь /opt/Qt-5.4.0 и передаёшь на сервер, там распаковываешь. За пределами /opt/Qt-5.4.0 инсталлятор ставит какую-то фигню типа иконок для Креатора, которая ни на что не повлияет. Я так делал на нескольких машинах.


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: sergek от Февраль 04, 2015, 19:44
Круто. Профили какие настраиваете?


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Alex Custov от Февраль 04, 2015, 19:54
Круто. Профили какие настраиваете?

В смысле профили?


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: sergek от Февраль 04, 2015, 22:25
После того, как разархивируете собранный у себя Qt, как система узнает, что у нее появился этот пакет? Как пользователи будут запускать сборку программ и сами программы?


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: Alex Custov от Февраль 04, 2015, 22:50
После того, как разархивируете собранный у себя Qt, как система узнает, что у нее появился этот пакет? Как пользователи будут запускать сборку программ и сами программы?

Как обычно qmake && make. Только полный путь указывать для qmake

$ /opt/Qt-..../qmake
$ make


Название: Re: Сборка Qt 5.4 opensource в Ubuntu 14.04
Отправлено: __Heaven__ от Февраль 05, 2015, 12:48
У вас на вкладке projects в qtcreator (понял, что эти профили) есть группа Build Steps. Вот всё, что там написано, то выполняется в консоли поочерёдно.