How to build Qt for Raspberry Pi3
-
All,
I am following the well-known ELGFS Qt build for cross compiling Qt for Raspberry Pi. I have successfully done this using Qt5.7 for the RPi2. Never could get it to work for RPi3. Now that 5.8 is available I am once again trying to build for RPi3.
I am building for open source using this config line:
./configure -release -opengl es2 -device linux-rpi3-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v -nomake examples -nomake tests -no-use-gold-linkerAll seems well until make throws these errors:
/home/syoung/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libQt5Network.so.5: undefined reference to `qt_safe_select(int, fd_set*, fd_set*, fd_set*, timespec const*)' /home/syoung/raspi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so: undefined reference to `QAbstractSocket::connected()@Qt_5' /home/syoung/raspi/qt-everywhere-opensource-src-5.8.0/qtserialbus/lib/libQt5SerialBus.so: undefined reference to `QTcpServer::QTcpServer(QObject*)@Qt_5' collect2: error: ld returned 1 exit status Makefile:90: recipe for target '../../../bin/canbusutil' failed make[4]: *** [../../../bin/canbusutil] Error 1 make[4]: Leaving directory '/home/syoung/raspi/qt-everywhere-opensource-src-5.8.0/qtserialbus/src/tools/canbusutil' Makefile:42: recipe for target 'sub-canbusutil-make_first' failed make[3]: *** [sub-canbusutil-make_first] Error 2 make[3]: Leaving directory '/home/syoung/raspi/qt-everywhere-opensource-src-5.8.0/qtserialbus/src/tools' Makefile:95: recipe for target 'sub-tools-make_first' failed make[2]: *** [sub-tools-make_first] Error 2 make[2]: Leaving directory '/home/syoung/raspi/qt-everywhere-opensource-src-5.8.0/qtserialbus/src' Makefile:44: recipe for target 'sub-src-make_first' failed make[1]: *** [sub-src-make_first] Error 2 make[1]: Leaving directory '/home/syoung/raspi/qt-everywhere-opensource-src-5.8.0/qtserialbus' Makefile:229: recipe for target 'module-qtserialbus-make_first' failed make: *** [module-qtserialbus-make_first] Error 2 syoung@Linux-Laptop:~/raspi/qt-everywhere-opensource-src-5.8.0$ I do need qtSerial but not the CAN stuff. Can anyone help? Thanks
-
I believe this is finally solved although it was an arduous process.
-
Started with fresh Ubuntu16 LTS and fresh Jessie Lite
-
Followed Aktays instructions to manually build qtwebengine. Each time it failed, tried to determine missing dependencies. This is what is needed on the VM in addition to those listed in Kukkimonsuta/rpi-buildqt : gperf, bison, flex, gcc-mulitlib, g++ mulitlib, libx32gcc-4.8-dev.
Thanks to everyone who helped!
-
-
@sly110 There was another thread with a similar problem, and IIRC it was because of mixing 2 different versions of Qt. Make sure you have a clean environment on your build system so it isn't picking up your system level Qt for your build.
I may be recalling incorrectly, but you could search it or check the sub forums and find that post/answer. :)
-
Before
git clone http://code.qt.io/qt/qtserialbus.git
cd qtserialbus
qmake
make
make install
After
git clone http://code.qt.io/qt/qtserialport.git
cd qtserialport
qmake
make
make install
I build qt on RPI 3 and I work with qt serial port. I received the following link as a reference and a successful result.
Referance: [http://wiki.qt.io/RaspberryPi2EGLFS]Good luck.
-
@aktay
Thank you for the advice. I have followed this document MANY times and only once did I get 5.7 to compile for RPi2. But it does not have webView or virtual keyboard which I need. My goal is to follow the document using RPi3 and Qt5.8 everywhere BUT to date regardless of what I try it ALWAYS fails. Usually for different reasons. The latest is wont build webEngine. I have followed MANY other docs as well in which people were successful and my builds still fail.
I will keep trying. Thank you. -
@sly110 said in How to build Qt for Raspberry Pi3:
I will keep trying. Thank you.
Did you follow the instructions below? I tried and it works for Qt 5.8.
[https://github.com/Kukkimonsuta/rpi-buildqt]) -
@sly110 said in How to build Qt for Raspberry Pi3:
webView
The problem with the web components is that compiling it takes a lot of memory that the Pi just don't have.
-
@aktay
Thank you! This is an amazing link.I still have problem building webView (as it needs web engine) which will not build
File "/home/syoung/raspi/src/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/in_generator.py", line 108, in main
writer.write_files(options.output_dir)
File "/home/syoung/raspi/src/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/in_generator.py", line 60, in write_files
self._write_file_if_changed(output_dir, generator(), file_name)
File "../../3rdparty/chromium/third_party/WebKit/Source/build/scripts/make_css_property_names.py", line 233, in generate_implementation
gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, universal_newlines=True)
File "/usr/lib/python2.7/subprocess.py", line 711, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
ninja: build stopped: subcommand failed.
Makefile.gn_run:343: recipe for target 'run_ninja' failed
make[3]: *** [run_ninja] Error 1
make[3]: Leaving directory '/home/syoung/raspi/src/qtwebengine/src/core'
Makefile:78: recipe for target 'sub-gn_run-pro-make_first' failed
make[2]: *** [sub-gn_run-pro-make_first] Error 2
make[2]: Leaving directory '/home/syoung/raspi/src/qtwebengine/src/core'
Makefile:75: recipe for target 'sub-core-make_first' failed
make[1]: *** [sub-core-make_first] Error 2
make[1]: Leaving directory '/home/syoung/raspi/src/qtwebengine/src'
Makefile:44: recipe for target 'sub-src-make_first' failed
make: *** [sub-src-make_first] Error 2 -
@sly110
You can try to recompile the module.sudo git clone http://code.qt.io/qt/qtwebengine -b 5.8 cd qtwebengine sudo ~/raspi/build/qt5.8-host/bin/qmake -r // If I'm not mistaken, it is correct path.check it please. sudo make -r sudo make install -r
Good luck.
-
Hi yes I installed these on the Pi in addition to the packages listed in
https://github.com/Kukkimonsuta/rpi-buildqt
RPi Install ninja on Rpi & resync
Rpi Install ruby on Rpi & resync
Rpi Installed Libxss
Rpi Installed Ninja-build
RPI installed gperfwhen I build per aktay's recommendation I get an error in qmake step:
using python: /usr/bin/python version: 2.7.12 Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qmake_extras.gypi Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qtwebengine_extras.gypi Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qmake_extras.gypi Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qtwebengine_extras.gypi Updating projects from gyp files... gyp: name 'arm_thumb' is not defined while evaluating condition 'arm_thumb==1' in /home/syoung/raspi/src/qtwebengine/src/core/resources/resources.gyp gyp: name 'arm_thumb' is not defined while evaluating condition 'arm_thumb==1' in /home/syoung/raspi/src/qtwebengine/src/core/core_generated.gyp Project ERROR: -- running gyp_qtwebengine failed --
FYI: This is the config summary from the qmake step from aktay:
//Configure summary: Qt WebEngine: Proprietary Codecs ..................... no Spellchecker ........................... yes ALSA ................................... yes PulseAudio ............................. yes Qt is now configured for building. Just run 'make'. Once everything is built, Qt is installed. You should NOT run 'make install'. Note that this build cannot be deployed to other machines or devices`` Thanks to everyone.
-
I am following your reply exactly:
in src directory:
sudo git clone http://code.qt.io/qt/qtwebengine -b 5.8
cd qtwebengine
sudo ~/raspi/build/qt5.8-host/bin/qmake -r
//fails so:
Sudo git submodule update --init
//retry
sudo ~/raspi/build/qt5.8-host/bin/qmake -r//young@Ubuntu16-VM:~/raspi/src/qtwebengine$ sudo git submodule update --init Submodule 'src/3rdparty' (http://code.qt.io/qt/qtwebengine-chromium.git) registered for path 'src/3rdparty' Cloning into 'src/3rdparty'... remote: Counting objects: 477672, done. remote: Compressing objects: 100% (372217/372217), done. remote: Total 477672 (delta 294694), reused 168949 (delta 97583) Receiving objects: 100% (477672/477672), 797.76 MiB | 3.47 MiB/s, done. Resolving deltas: 100% (294694/294694), done. Checking connectivity... done. Submodule path 'src/3rdparty': checked out '675c165d44ac5d39e9b37263e561dc1673f3bfa4' syoung@Ubuntu16-VM:~/raspi/src/qtwebengine$ sudo ~/raspi/build/qt5.8-host/bin/qmake -r [sudo] password for syoung: Running configuration tests... Done running configuration tests. Configure summary: Qt WebEngine: Proprietary Codecs ..................... no Spellchecker ........................... yes ALSA ................................... yes PulseAudio ............................. yes Qt is now configured for building. Just run 'make'. Once everything is built, Qt is installed. You should NOT run 'make install'. Note that this build cannot be deployed to other machines or devices. Prior to reconfiguration, make sure you remove any leftovers from the previous build. Running configure tests Checking for alsa... yes Checking for khr... yes Checking for libvpx... no Checking for snappy... no Checking for srtp... no Project MESSAGE: PKG_CONFIG_LIBDIR automatically set to /home/syoung/raspi/sysroot/usr/lib/pkgconfig:/home/syoung/raspi/sysroot/usr/share/pkgconfig:/home/syoung/raspi/sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig Project MESSAGE: PKG_CONFIG_SYSROOT_DIR automatically set to /home/syoung/raspi/sysroot 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. System protobuf not found. Using Chromium's copy. 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. System library dependencies: 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) Optional system libraries used ..... libxslt libxml2 Optional bundled libraries used .... libevent jsoncpp opus protobuf libvpx srtp snappy icu ffmpeg Configurable features: Proprietary codecs (H264, MP3) ..... Not enabled (Default, enable with WEBENGINE_CONFIG+=use_proprietary_codecs) Geolocation ........................ Not enabled (Requires Qt Positioning module) Certificate handling ............... Using bundled BoringSSL Reading /home/syoung/raspi/src/qtwebengine/src/src.pro Reading /home/syoung/raspi/src/qtwebengine/src/core/core.pro Reading /home/syoung/raspi/src/qtwebengine/src/core/core_headers.pro Project MESSAGE: perl -w /home/syoung/raspi/build/qt5.8-host/bin/syncqt.pl -module QtWebEngineCore -version 5.8.1 -outdir /home/syoung/raspi/src/qtwebengine /home/syoung/raspi/src/qtwebengine <srcbase> = /home/syoung/raspi/src/qtwebengine <outbase> = /home/syoung/raspi/src/qtwebengine QtWebEngineCore: created fwd-include header(s) for <srcbase>/src/core/api/ { qtwebenginecoreglobal.h (1), qtwebenginecoreglobal_p.h (1), qwebenginecallback.h (2), qwebenginecallback_p.h (1), qwebenginecookiestore.h (2), qwebenginecookiestore_p.h (1), qwebengineurlrequestinfo.h (2), qwebengineurlrequestinfo_p.h (1), qwebengineurlrequestinterceptor.h (2), qwebengineurlrequestjob.h (2), qwebengineurlschemehandler.h (2) } QtWebEngineCore: created version header QtWebEngineCore: created master header QtWebEngineCore: created headers.pri file Reading /home/syoung/raspi/src/qtwebengine/src/core/core_gyp_generator.pro Reading /home/syoung/raspi/src/qtwebengine/src/core/gyp_configure_host.pro Reading /home/syoung/raspi/src/qtwebengine/src/core/gyp_configure_target.pro Reading /home/syoung/raspi/src/qtwebengine/src/core/gyp_run.pro Project MESSAGE: PKG_CONFIG_LIBDIR automatically set to /home/syoung/raspi/sysroot/usr/lib/pkgconfig:/home/syoung/raspi/sysroot/usr/share/pkgconfig:/home/syoung/raspi/sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig Project MESSAGE: PKG_CONFIG_SYSROOT_DIR automatically set to /home/syoung/raspi/sysroot Project MESSAGE: Running gyp_qtwebengine "/home/syoung/raspi/src/qtwebengine/src/core" -D qt_cross_compile=1 -D os_posix=1 -D qt_os="embedded_linux" -I config/embedded_linux.gypi -D pkg-config="/home/syoung/raspi/src/qtwebengine/src/core/pkg-config_wrapper.sh 2> /dev/null" -D use_qt=1 -D v8_use_external_startup_data=0 -D enable_web_speech=0 -D enable_extensions=0 -D linux_use_bundled_gold=0 -D linux_use_bundled_binutils=0 -D linux_use_gold_flags=0 -D toolkit_uses_gtk=0 -D use_ash=0 -D use_aura=1 -D use_cairo=0 -D use_clipboard_aurax11=0 -D use_cups=0 -D use_gconf=0 -D use_gio=0 -D use_gnome_keyring=0 -D use_kerberos=0 -D use_pango=0 -D use_openssl=1 -D use_allocator=none -D use_experimental_allocator_shim=0 -D use_nss_certs=0 -D use_nss_verifier=0 -D use_openssl_certs=1 -D use_system_libpng=1 -D use_system_libjpeg=1 -D use_pulseaudio=1 -D use_alsa=1 -D use_system_libxml=1 -D clang=0 -D desktop_linux=0 -D disable_nacl=1 -D embedded=1 -D enable_autofill_dialog=0 -D enable_automation=0 -D enable_basic_printing=0 -D enable_captive_portal_detection=0 -D enable_extensions=0 -D enable_google_now=0 -D enable_language_detection=0 -D enable_managed_users=0 -D enable_pdf=0 -D enable_plugin_installation=0 -D enable_plugins=0 -D enable_print_preview=0 -D enable_session_service=0 -D enable_task_manager=0 -D enable_themes=0 -D enable_webrtc=0 -D gtest_target_type=none -D host_clang=0 -D notifications=0 -D ozone_auto_platforms=0 -D ozone_platform_dri=0 -D ozone_platform_test=0 -D p2p_apis=0 -D safe_browsing=0 -D toolkit_views=1 -D use_custom_freetype=0 -D use_libpci=0 -D use_ozone=1 -D use_system_fontconfig=1 -D use_x11=0 -D v8_use_snapshot=false -D want_separate_host_toolset=1 -D angle_enable_gl=0 -D qtwe_process_name_debug=QtWebEngineProcess -D qtwe_process_name_release=QtWebEngineProcess -D disable_glibcxx_debug=1 -D remove_webcore_debug_symbols=1 -D remove_v8base_debug_symbols=1 -D disable_fatal_linker_warnings=1 -D sysroot="/home/syoung/raspi/sysroot" -D CXX="/home/syoung/raspi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++" -D target_arch=arm -D arm_arch="armv8-a" -D arm_tune="cortex-a53" -D arm_float_abi="hard" -D arm_version="8" -D arm_fpu="crypto-neon-fp-armv8" -D arm_neon=1 -D release_optimize=s -D debug_optimize=s -D win_release_Optimization=1 -D release_unwind_tables=0 -D enable_spellcheck=1. using python: /usr/bin/python version: 2.7.12 Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qmake_extras.gypi Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qtwebengine_extras.gypi Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qmake_extras.gypi Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qtwebengine_extras.gypi Updating projects from gyp files... gyp: name 'arm_thumb' is not defined while evaluating condition 'arm_thumb==1' in /home/syoung/raspi/src/qtwebengine/src/core/resources/resources.gyp gyp: name 'arm_thumb' is not defined while evaluating condition 'arm_thumb==1' in /home/syoung/raspi/src/qtwebengine/src/core/core_generated.gyp Project ERROR: -- running gyp_qtwebengine failed -- ``
-
@sly110 said in How to build Qt for Raspberry Pi3:
sudo git clone http://code.qt.io/qt/qtwebengine -b 5.8
Are you sure git is installed? Try this, please.
sudo apt-get install git sudo git clone http://code.qt.io/qt/qtwebengine -b 5.8 cd qtwebengine sudo ~/raspi/build/qt5.8-host/bin/qmake -r sudo make -r sudo make install -r
Will you share the output of the following commands with me?
-
sudo git clone http://code.qt.io/qt/qtwebengine -b 5.8
-
sudo ~/raspi/build/qt5.8-host/bin/qmake -r
-
sudo make -r
-
-
@aktay
1st of all - thank you so much for your help!git is definitely installed on host but was not installed on Pi. Installed & sync with 2_sync.sh.
on host:
//syoung@Ubuntu16-VM:~/raspi/src$ sudo git clone http://code.qt.io/qt/qtwebengine -b 5.8 Cloning into 'qtwebengine'... remote: Counting objects: 28483, done. remote: Compressing objects: 100% (20287/20287), done. remote: Total 28483 (delta 21000), reused 10717 (delta 7667) Receiving objects: 100% (28483/28483), 7.77 MiB | 1.56 MiB/s, done. Resolving deltas: 100% (21000/21000), done. Checking connectivity... done. `` syoung@Ubuntu16-VM:~/raspi/src$ cd qtwebengine/ syoung@Ubuntu16-VM:~/raspi/src/qtwebengine$ sudo ~/raspi/build/qt5.8-host/bin/qmake -r Info: creating stash file /home/syoung/raspi/src/qtwebengine/.qmake.stash Info: creating cache file /home/syoung/raspi/src/qtwebengine/.qmake.cache Running configuration tests... Checking for ALSA... yes Checking for PulseAudio >= 0.9.10... yes Done running configuration tests. Configure summary: Qt WebEngine: Proprietary Codecs ..................... no Spellchecker ........................... yes ALSA ................................... yes PulseAudio ............................. yes Qt is now configured for building. Just run 'make'. Once everything is built, Qt is installed. You should NOT run 'make install'. Note that this build cannot be deployed to other machines or devices. Prior to reconfiguration, make sure you remove any leftovers from the previous build. Project ERROR: Submodule qtwebengine-chromium does not exist. Run 'git submodule update --init'. syoung@Ubuntu16-VM:~/raspi/src/qtwebengine$
sudo git submodule update --init ... syoung@Ubuntu16-VM:~/raspi/src/qtwebengine$ sudo git submodule update --init Submodule 'src/3rdparty' (http://code.qt.io/qt/qtwebengine-chromium.git) registered for path 'src/3rdparty' Cloning into 'src/3rdparty'... remote: Counting objects: 477672, done. remote: Compressing objects: 100% (372217/372217), done. remote: Total 477672 (delta 294696), reused 168949 (delta 97583) Receiving objects: 100% (477672/477672), 797.69 MiB | 4.51 MiB/s, done. Resolving deltas: 100% (294696/294696), done. Checking connectivity... done. Submodule path 'src/3rdparty': checked out '675c165d44ac5d39e9b37263e561dc1673f3bfa4' syoung@Ubuntu16-VM:~/raspi/src/qtwebengine$
syoung@Ubuntu16-VM:~/raspi/src/qtwebengine$ sudo ~/raspi/build/qt5.8-host/bin/qmake -r Running configuration tests... Done running configuration tests. Configure summary: Qt WebEngine: Proprietary Codecs ..................... no Spellchecker ........................... yes ALSA ................................... yes PulseAudio ............................. yes Qt is now configured for building. Just run 'make'. Once everything is built, Qt is installed. You should NOT run 'make install'. Note that this build cannot be deployed to other machines or devices. Prior to reconfiguration, make sure you remove any leftovers from the previous build. Running configure tests Checking for alsa... yes Checking for khr... yes Checking for libvpx... no Checking for snappy... no Checking for srtp... no Project MESSAGE: PKG_CONFIG_LIBDIR automatically set to /home/syoung/raspi/sysroot/usr/lib/pkgconfig:/home/syoung/raspi/sysroot/usr/share/pkgconfig:/home/syoung/raspi/sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig Project MESSAGE: PKG_CONFIG_SYSROOT_DIR automatically set to /home/syoung/raspi/sysroot 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. System protobuf not found. Using Chromium's copy. 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. System library dependencies: 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) Optional system libraries used ..... libxslt libxml2 Optional bundled libraries used .... libevent jsoncpp opus protobuf libvpx srtp snappy icu ffmpeg Configurable features: Proprietary codecs (H264, MP3) ..... Not enabled (Default, enable with WEBENGINE_CONFIG+=use_proprietary_codecs) Geolocation ........................ Not enabled (Requires Qt Positioning module) Certificate handling ............... Using bundled BoringSSL Reading /home/syoung/raspi/src/qtwebengine/src/src.pro Reading /home/syoung/raspi/src/qtwebengine/src/core/core.pro Reading /home/syoung/raspi/src/qtwebengine/src/core/core_headers.pro Project MESSAGE: perl -w /home/syoung/raspi/build/qt5.8-host/bin/syncqt.pl -module QtWebEngineCore -version 5.8.1 -outdir /home/syoung/raspi/src/qtwebengine /home/syoung/raspi/src/qtwebengine <srcbase> = /home/syoung/raspi/src/qtwebengine <outbase> = /home/syoung/raspi/src/qtwebengine QtWebEngineCore: created fwd-include header(s) for <srcbase>/src/core/api/ { qtwebenginecoreglobal.h (1), qtwebenginecoreglobal_p.h (1), qwebenginecallback.h (2), qwebenginecallback_p.h (1), qwebenginecookiestore.h (2), qwebenginecookiestore_p.h (1), qwebengineurlrequestinfo.h (2), qwebengineurlrequestinfo_p.h (1), qwebengineurlrequestinterceptor.h (2), qwebengineurlrequestjob.h (2), qwebengineurlschemehandler.h (2) } QtWebEngineCore: created version header QtWebEngineCore: created master header QtWebEngineCore: created headers.pri file Reading /home/syoung/raspi/src/qtwebengine/src/core/core_gyp_generator.pro Reading /home/syoung/raspi/src/qtwebengine/src/core/gyp_configure_host.pro Reading /home/syoung/raspi/src/qtwebengine/src/core/gyp_configure_target.pro Reading /home/syoung/raspi/src/qtwebengine/src/core/gyp_run.pro Project MESSAGE: PKG_CONFIG_LIBDIR automatically set to /home/syoung/raspi/sysroot/usr/lib/pkgconfig:/home/syoung/raspi/sysroot/usr/share/pkgconfig:/home/syoung/raspi/sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig Project MESSAGE: PKG_CONFIG_SYSROOT_DIR automatically set to /home/syoung/raspi/sysroot Project MESSAGE: Running gyp_qtwebengine "/home/syoung/raspi/src/qtwebengine/src/core" -D qt_cross_compile=1 -D os_posix=1 -D qt_os="embedded_linux" -I config/embedded_linux.gypi -D pkg-config="/home/syoung/raspi/src/qtwebengine/src/core/pkg-config_wrapper.sh 2> /dev/null" -D use_qt=1 -D v8_use_external_startup_data=0 -D enable_web_speech=0 -D enable_extensions=0 -D linux_use_bundled_gold=0 -D linux_use_bundled_binutils=0 -D linux_use_gold_flags=0 -D toolkit_uses_gtk=0 -D use_ash=0 -D use_aura=1 -D use_cairo=0 -D use_clipboard_aurax11=0 -D use_cups=0 -D use_gconf=0 -D use_gio=0 -D use_gnome_keyring=0 -D use_kerberos=0 -D use_pango=0 -D use_openssl=1 -D use_allocator=none -D use_experimental_allocator_shim=0 -D use_nss_certs=0 -D use_nss_verifier=0 -D use_openssl_certs=1 -D use_system_libpng=1 -D use_system_libjpeg=1 -D use_pulseaudio=1 -D use_alsa=1 -D use_system_libxml=1 -D clang=0 -D desktop_linux=0 -D disable_nacl=1 -D embedded=1 -D enable_autofill_dialog=0 -D enable_automation=0 -D enable_basic_printing=0 -D enable_captive_portal_detection=0 -D enable_extensions=0 -D enable_google_now=0 -D enable_language_detection=0 -D enable_managed_users=0 -D enable_pdf=0 -D enable_plugin_installation=0 -D enable_plugins=0 -D enable_print_preview=0 -D enable_session_service=0 -D enable_task_manager=0 -D enable_themes=0 -D enable_webrtc=0 -D gtest_target_type=none -D host_clang=0 -D notifications=0 -D ozone_auto_platforms=0 -D ozone_platform_dri=0 -D ozone_platform_test=0 -D p2p_apis=0 -D safe_browsing=0 -D toolkit_views=1 -D use_custom_freetype=0 -D use_libpci=0 -D use_ozone=1 -D use_system_fontconfig=1 -D use_x11=0 -D v8_use_snapshot=false -D want_separate_host_toolset=1 -D angle_enable_gl=0 -D qtwe_process_name_debug=QtWebEngineProcess -D qtwe_process_name_release=QtWebEngineProcess -D disable_glibcxx_debug=1 -D remove_webcore_debug_symbols=1 -D remove_v8base_debug_symbols=1 -D disable_fatal_linker_warnings=1 -D sysroot="/home/syoung/raspi/sysroot" -D CXX="/home/syoung/raspi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++" -D target_arch=arm -D arm_arch="armv8-a" -D arm_tune="cortex-a53" -D arm_float_abi="hard" -D arm_version="8" -D arm_fpu="crypto-neon-fp-armv8" -D arm_neon=1 -D release_optimize=s -D debug_optimize=s -D win_release_Optimization=1 -D release_unwind_tables=0 -D enable_spellcheck=1. using python: /usr/bin/python version: 2.7.12 Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qmake_extras.gypi Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qtwebengine_extras.gypi Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qmake_extras.gypi Using extra options found in /home/syoung/raspi/src/qtwebengine/src/core/qtwebengine_extras.gypi Updating projects from gyp files... gyp: name 'arm_thumb' is not defined while evaluating condition 'arm_thumb==1' in /home/syoung/raspi/src/qtwebengine/src/core/resources/resources.gyp gyp: name 'arm_thumb' is not defined while evaluating condition 'arm_thumb==1' in /home/syoung/raspi/src/qtwebengine/src/core/core_generated.gyp Project ERROR: -- running gyp_qtwebengine failed -- syoung@Ubuntu16-VM:~/raspi/src/qtwebengine$
-
-
@sly110 said in How to build Qt for Raspberry Pi3:
sudo git submodule update --init
You can review the below guide.
https://wiki.qt.io/How_to_Try_QtWebEngine -
I believe this is finally solved although it was an arduous process.
-
Started with fresh Ubuntu16 LTS and fresh Jessie Lite
-
Followed Aktays instructions to manually build qtwebengine. Each time it failed, tried to determine missing dependencies. This is what is needed on the VM in addition to those listed in Kukkimonsuta/rpi-buildqt : gperf, bison, flex, gcc-mulitlib, g++ mulitlib, libx32gcc-4.8-dev.
Thanks to everyone who helped!
-
-
@sly110
What did you do that actually solved the "gyp: name 'arm_thumb' is not defined" error?Is this actually linked to missing dependencies on the host or target?
I've been trying to cross-compile Qt 5.8 for my RPi3 many different ways now, including the steps mentioned here, but I always end up with this error when it tries to compile qtwebengine.
-
I am also trying to crosscompile qt in raspberry pi 2 for the past weeks following the
https://www.ics.com/blog/configuring-qt-creator-raspberry-pi
https://wiki.qt.io/RaspberryPi2EGLFS
. I configured it without any errors. When i am running a console application the output is getting displayed on the raspberry pi but when i am trying to debug a widget application i am getting this displayed in my qt creator.
Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.Could not load shared library symbols for 22 libraries, e.g. /usr/lib/arm-linux-gnueabihf/libarmmem.so.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).can anyone help me in this?
thanks in advance -
Hi amruz,
the build of your qt libraries is not in you sysroot. You can either copy qt5pi directory to <your sysroot>/usr/local/ on your development host or tell gdb to load the libraries from your target (see https://forum.qt.io/topic/76928/raspberry-pi-3-debug-info-how-to-fix/38)