Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: sergek от Июль 01, 2016, 12:59



Название: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: sergek от Июль 01, 2016, 12:59
Коллеги, помогите собрать Qt 5.7 в Ubuntu 14.04.
Делаю
Код:
./configure -opensource -nomake examples -nomake tests
make
собирается, но не полностью. Мне нужно дополнительно, как минимум, Qt Charts,  Qt Data Visualization, Qt Serial Bus. А их библиотеки не создаются.
Если собираю make all, то ломается на сборке примеров (сейчас запустил еще раз, чтобы вспонить, что за ошибка ;)
При этом, если конфигурировать с опцией -developer-build, все собирается успешно (но долго). Я собирал в домашнем каталоге, а хотелось бы сделать Qt для всех на этом сервере. Для этой сборки make install не работает.
Как все-таки делать сборку Qt из исходников, чтобы включить нужные библиотеки, и установить для всех пользователей? К слову, с Qt 5.4 проблем таких не было, сделал make all и все собралось, в том числе с QtWebKit.

upd.
Да, собственно, нет никакой диагностики:
Код:
g++ -fuse-ld=gold -Wl,--enable-new-dtags -Wl,-rpath,/home/sergek/qt-everywhere-opensource-src-5.7.0/qtbase/lib -o tablet .obj/mainwindow.o .obj/main.o .obj/tabletcanvas.o .obj/tabletapplication.o .obj/qrc_images.o .obj/moc_mainwindow.o .obj/moc_tabletcanvas.o .obj/moc_tabletapplication.o   -L/home/sergek/qt-everywhere-opensource-src-5.7.0/qtbase/lib -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
make[5]: Выход из каталога `/home/sergek/qt-src-5.7.0/qtbase/examples/widgets/widgets/tablet'
make[4]: Выход из каталога `/home/sergek/qt-src-5.7.0/qtbase/examples/widgets/widgets'
make[3]: Выход из каталога `/home/sergek/qt-src-5.7.0/qtbase/examples/widgets'
make[2]: Выход из каталога `/home/sergek/qt-src-5.7.0/qtbase/examples'
make[1]: Выход из каталога `/home/sergek/qt-src-5.7.0/qtbase'
make: *** [module-qtbase-all] Ошибка 2



Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: qate от Июль 01, 2016, 23:53
нужен полный вывод configure и make


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: sergek от Июль 02, 2016, 17:43
нужен полный вывод configure и make
Спасибо. Я не нашел там ничего особенного.

upd. А вообще-то я не прав. Прошлый раз компиляция завершилась на tablet, сейчас - на sliders. Такое ощущение, что не ошибка это, а другое.


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: sergek от Июль 04, 2016, 20:29
Коллеги, а еще вопрос: если конфигурирование сборки выполняется с опцией -developer-build, то что произойдет, если после сборки выполнить make install?
Я помню, что "must not be installed". Но а если я это сделал, все пропало?
ОС ubuntu.


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: qate от Июль 06, 2016, 10:27
Спасибо. Я не нашел там ничего особенного.

да, там ничего нет, stderr перенаправлял в файл ?
./configure -options > my_log 2>&1

я не собирал только qtbase, попробуй собрать все



Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: qate от Июль 06, 2016, 10:33
Коллеги, а еще вопрос: если конфигурирование сборки выполняется с опцией -developer-build, то что произойдет, если после сборки выполнить make install?

-developer-build это опция как я понял для разработчиков самого qt


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: sergek от Июль 06, 2016, 11:37
да, там ничего нет, stderr перенаправлял в файл ?
Нет, про это забыл :(
Но появились подозрения, что барахлит железо. Сейчас проверяем.


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: sergek от Июль 07, 2016, 08:49
Железо слабенькое, но, кажется, живое. Попробовал еще пару сборок. Вот наиболее примечательные фрагменты:
Код:
...
cd qtwebengine/ && ( test -e Makefile || /home/sergek/qt-everywhere-opensource-src-5.7.0/qtbase/bin/qmake /home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/qtwebengine.pro -qtconf /home/sergek/qt-everywhere-opensource-src-5.7.0/qtbase/bin/qt.conf -o Makefile ) && make -f Makefile
Info: creating cache file /home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/.qmake.cache
Running configure tests
Checking for khr... yes
Checking for libcap... yes
Checking for libvpx... no
Checking for snappy... no
Checking for srtp... no
System zlib or minizip not found. Using Chromium's copies.
System libwebp or libwebpdemux not found. Using Chromium's copies.
System libevent not found. Using Chromium's copy.
System jsoncpp not found. Using Chromium's copy.
System opus not found. Using Chromium's copy.
Protobuf compiler not found. Using Chromium's copy of protobuf.
Compatible system libvpx not found. Using Chromium's copy.
System libsrtp not found. Using Chromium's copy.
System snappy not found. Using Chromium's copy.
Certificate handling.............. Using system NSS
ICU............................... Using internal copy (Default, force system ICU with WEBENGINE_CONFIG+=use_system_icu)
FFMPEG............................ Using internal copy (Default, force system FFMPEG with WEBENGINE_CONFIG+=use_system_ffmpeg)
Proprietary codecs (H264, MP3).... Not enabled         (Default, enable with WEBENGINE_CONFIG+=use_proprietary_codecs)
...
Код:
...
[22/24] CXX build/ninja.o
[23/24] AR build/libninja.a
[24/24] LINK ninja
bootstrapping ninja...
warning: A compatible version of re2c (>= 0.11.3) was not found; changes to src/*.in.cc will not affect your build.
wrote build.ninja.
bootstrap complete.  rebuilding...
make[4]: Вход в каталог `/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/core'
/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/ninja/ninja  -C /home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/core/Release
ninja: Entering directory `/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/core/Release'
[1/12634] CXX obj/src/3rdparty/chromium/third_party/webrtc/modules/video_processing/video_processing_sse2.content_analysis_sse2.o
[2/12634] CXX obj/src/3rdparty/chromium/third_party/webrtc/modules/video_processing/util/video_processing_sse2.denoiser_filter_sse2.o
...
Код:
...
[8694/12634] CXX obj/src/3rdparty/chromium/third_party/WebKit/Source/bindings/core/v8/webcore_generated.V8RecursionScope.o
[8695/12634] CXX obj/src/3rdparty/chromium/third_party/WebKit/Source/bindings/core/v8/webcore_generated.V8PerformanceObserverCallback.o
FAILED: /usr/bin/g++ -MMD -MF obj/src/3rdparty/chromium/third_party/WebKit/Source/bindings/core/v8/webcore_generated.V8ObjectConstructor.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DCHROMIUM_BUILD -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DENABLE_TOPCHROME_MD=1 -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1 -DENABLE_PDF=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DGL_GLEXT_PROTOTYPES -DBLINK_IMPLEMENTATION=1 -DINSIDE_BLINK -DENABLE_LAYOUT_UNIT_IN_INLINE_BOXES=0 -DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1 -DENABLE_INPUT_MULTIPLE_FIELDS_UI=1 -DWTF_USE_ICCJPEG=1 -DWTF_USE_QCMSLIB=1 -DWTF_USE_WEBAUDIO_FFMPEG=1 -DWTF_USE_DEFAULT_RENDER_THEME=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DSK_SUPPORT_GPU=1 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DUSE_SYSTEM_LIBXML -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 '-DQTWEBENGINEPROCESS_NAME="QtWebEngineProcess"' -Igen/shim_headers/libpng/target -Igen -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source -Igen/blink -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/skia/config -Igen/angle -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/gpu -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/angle/include -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/WebKit -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/ots/include -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/zlib -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/icu/source/i18n -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/icu/source/common -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/skia/include/core -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/skia/include/effects -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/skia/include/pdf -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/skia/include/gpu -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/skia/include/lazy -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/skia/include/pathops -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/skia/include/pipe -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/skia/include/ports -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/skia/include/utils -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/skia/ext -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/iccjpeg -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/libwebp -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/npapi -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/npapi/bindings -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/qcms/src -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/snappy/linux -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/snappy/src -I/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/v8/include -I/usr/include/libdrm -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-strict-aliasing -Wall -Wno-extra -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-unused-local-typedefs -fno-strict-aliasing -Os -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -m64 -march=x86-64 -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -Wno-narrowing  -c /home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/bindings/core/v8/V8ObjectConstructor.cpp -o obj/src/3rdparty/chromium/third_party/WebKit/Source/bindings/core/v8/webcore_generated.V8ObjectConstructor.o
/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/bindings/core/v8/V8ObjectConstructor.cpp:64:1: internal compiler error: Ошибка сегментирования
 } // namespace blink
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
The bug is not reproducible, so it is likely a hardware or OS problem.
ninja: build stopped: subcommand failed.
make[4]: *** [invoke_ninja] Ошибка 1
make[4]: Выход из каталога `/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/core'
make[3]: *** [sub-gyp_run-pro-make_first] Ошибка 2
make[3]: Выход из каталога `/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src/core'
make[2]: *** [sub-core-make_first] Ошибка 2
make[2]: Выход из каталога `/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine/src'
make[1]: *** [sub-src-make_first] Ошибка 2
make[1]: Выход из каталога `/home/sergek/qt-everywhere-opensource-src-5.7.0/qtwebengine'
make: *** [module-qtwebengine-make_first] Ошибка 2
...
zlib установлен (zlib1g-dev);
gcc version 4.8.4.
Поиск по форуму Qt показал, что подобные проблемы со сборкой QtWebEngine имеют место, но, в основном в MSVS и без ответа...


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: kuzulis от Июль 07, 2016, 12:44
Ну, а без WebEngine никак не обойтись?


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: sergek от Июль 07, 2016, 18:49
Да он мне не нужен. Но фэншуй нарушается :) И вера в опенсорс...


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: qate от Июль 07, 2016, 19:14
Да он мне не нужен.

отключи его при configure
я сам еще не собирал WebEngine, не нужен был


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: sergek от Июль 07, 2016, 19:33
Отключу, конечно. Придется тогда и в PythonQt его отключать. Потом еще где-нибудь... В общем, вся биб...я нафиг.


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: Alex Custov от Июль 07, 2016, 21:24
видно что gcc свалился с внутренней ошибкой. Это похоже на недостаток памяти. Сколько ядер и памяти? Бывает что если ядер много, а памяти мало, ninja будет использовать все ядра и для многопоточной компиляции не хватит памяти.


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: sergek от Июль 08, 2016, 20:39
1 ядро и 1 гиг. Не вижу препятствий.


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: Alex Custov от Июль 08, 2016, 22:58
а свободной памяти много?


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: sergek от Июль 10, 2016, 11:43
Код:
sergek@sergek-server:~$ free -m
             total       used       free     shared    buffers     cached
Память:        866        642        224          1         79        335
-/+ буферы/кэш:        226        639
Swap:        15257         19      15238


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: Alex Custov от Июль 11, 2016, 17:13
Если я правильно вижу - то порядка 220 Mb. Этого может быть маловато. Некоторые куски исходников WebEngine очень тяжёлые. Это единственная причина которую я вижу почему gcc падает с SEGFAULT.


Название: Re: Сборка Qt 5.7 в Ubuntu 14.04
Отправлено: sergek от Июль 11, 2016, 19:16
Я тоже так думаю. Спасибо за советы.