Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Cross compilation guide
Qt 6.11 is out! See what's new in the release blog

Cross compilation guide

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
4 Posts 3 Posters 3.9k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Q Offline
    Q Offline
    qt_help
    wrote on last edited by A Former User
    #1

    Re: EGLFS problem of QT5.7 on Raspberry

    @ascnp Could you please share the guide you followed to build the cross compilation environment for pi?

    1 Reply Last reply
    0
    • sneubertS Offline
      sneubertS Offline
      sneubert
      wrote on last edited by
      #2

      https://wiki.qt.io/RaspberryPi2EGLFS

      1 Reply Last reply
      0
      • T Offline
        T Offline
        Trom
        wrote on last edited by
        #3

        Hi
        I just come to follow the tutorial (https://wiki.qt.io/RaspberryPi2EGLFS) to cross-compile from an opensuse 42.1 64bits for a raspberry pi 3 and all is running BUT !
        I would like to use in my application the webview component and i can't.
        I tried to compile qtwebengine but i have error.
        I understood that it was necessary to first compile qtdeclarative and it's done.
        when i make i have this error :

        make
        cd src/ && ( test -e Makefile || /home/philippe/raspi/qt5/bin/qmake /home/philippe/raspi/qtwebengine/src/src.pro -o Makefile ) && make -f Makefile
        make[1]: Entering directory '/home/philippe/raspi/qtwebengine/src'
        cd core/ && ( test -e Makefile || /home/philippe/raspi/qt5/bin/qmake /home/philippe/raspi/qtwebengine/src/core/core.pro -o Makefile ) && make -f Makefile
        make[2]: Entering directory '/home/philippe/raspi/qtwebengine/src/core'
        ( test -e Makefile.core_headers || /home/philippe/raspi/qt5/bin/qmake /home/philippe/raspi/qtwebengine/src/core/core_headers.pro -o Makefile.core_headers ) && make -f Makefile.core_headers
        make[3]: Entering directory '/home/philippe/raspi/qtwebengine/src/core'
        make[3]: Nothing to be done for 'first'.
        make[3]: Leaving directory '/home/philippe/raspi/qtwebengine/src/core'
        ( test -e Makefile.core_gyp_generator || /home/philippe/raspi/qt5/bin/qmake /home/philippe/raspi/qtwebengine/src/core/core_gyp_generator.pro -o Makefile.core_gyp_generator ) && make -f Makefile.core_gyp_generator
        make[3]: Entering directory '/home/philippe/raspi/qtwebengine/src/core'
        make[3]: Nothing to be done for 'first'.
        make[3]: Leaving directory '/home/philippe/raspi/qtwebengine/src/core'
        ( test -e Makefile.gyp_configure_host || /home/philippe/raspi/qt5/bin/qmake /home/philippe/raspi/qtwebengine/src/core/gyp_configure_host.pro -o Makefile.gyp_configure_host ) && make -f Makefile.gyp_configure_host
        make[3]: Entering directory '/home/philippe/raspi/qtwebengine/src/core'
        make[3]: Nothing to be done for 'first'.
        make[3]: Leaving directory '/home/philippe/raspi/qtwebengine/src/core'
        ( test -e Makefile.gyp_configure_target || /home/philippe/raspi/qt5/bin/qmake /home/philippe/raspi/qtwebengine/src/core/gyp_configure_target.pro -o Makefile.gyp_configure_target ) && make -f Makefile.gyp_configure_target
        make[3]: Entering directory '/home/philippe/raspi/qtwebengine/src/core'
        make[3]: Nothing to be done for 'first'.
        make[3]: Leaving directory '/home/philippe/raspi/qtwebengine/src/core'
        ( test -e Makefile.gyp_run || /home/philippe/raspi/qt5/bin/qmake /home/philippe/raspi/qtwebengine/src/core/gyp_run.pro -o Makefile.gyp_run ) && make -f Makefile.gyp_run
        make[3]: Entering directory '/home/philippe/raspi/qtwebengine/src/core'
        /home/philippe/raspi/qtwebengine/src/3rdparty/ninja/ninja -C /home/philippe/raspi/qtwebengine/src/core/Release
        ninja: Entering directory /home/philippe/raspi/qtwebengine/src/core/Release' [5/10289] CC obj/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/ffmpeg.vp8.o FAILED: /home/philippe/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc -MMD -MF obj/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/ffmpeg.vp8.o.d -DV8_DEPRECATION_WARNINGS -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES '-DOPENSSLDIR="/usr/lib/ssl"' -DOPENSSL_LOAD_CONF -DEGL_API_FB=1 -DLINUX=1 -DCHROMIUM_BUILD -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_OZONE=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_MEDIA_ROUTER=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_HIDPI=1 -DENABLE_TOPCHROME_MD=1 -DDONT_EMBED_BUILD_METADATA -DENABLE_BACKGROUND=1 -DCLD_VERSION=2 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DHAVE_AV_CONFIG_H -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -DFF_API_PIX_FMT_DESC=0 -DFF_API_OLD_DECODE_AUDIO=0 -DFF_API_DESTRUCT_PACKET=0 -DFF_API_GET_BUFFER=0 -D_ISOC99_SOURCE -D_LARGEFILE_SOURCE -DUSE_OPENSSL=1 -DUSE_OPENSSL_CERTS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -I/home/philippe/raspi/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon -I/home/philippe/raspi/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg -I/home/philippe/raspi/sysroot/opt/vc/include -I/home/philippe/raspi/sysroot/opt/vc/include/interface/vcos/pthreads -I/home/philippe/raspi/sysroot/opt/vc/include/interface/vmcs_host/linux -fstack-protector --param=ssp-buffer-size=4 -pthread -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-unused-local-typedefs -fPIC -fomit-frame-pointer -Wno-deprecated-declarations -w -DHAVE_VFP_ARGS=1 -std=c99 -pthread -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Wno-format -Wno-unused-result -I/home/philippe/raspi/sysroot/usr/include/dbus-1.0 -I/home/philippe/raspi/sysroot/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/home/philippe/raspi/sysroot/usr/include/dbus-1.0 -I/home/philippe/raspi/sysroot/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard --sysroot=/home/philippe/raspi/sysroot -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables -c /home/philippe/raspi/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/vp8.c -o obj/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/ffmpeg.vp8.o {standard input}: Assembler messages: {standard input}:45: Error: bad instruction ldrhcs r0,[r2],#2'
        {standard input}:104: Error: bad instruction ldrhcs r6,[ip],#2' {standard input}:1223: Error: bad instruction ldrhcs fp,[r3],#2'
        {standard input}:1301: Error: bad instruction ldrhcs r4,[r2],#2' {standard input}:1339: Error: bad instruction ldrhcs r7,[r2],#2'
        {standard input}:1375: Error: bad instruction ldrhcs r6,[r2],#2' {standard input}:1447: Error: bad instruction ldrhcs r2,[ip],#2'
        {standard input}:1480: Error: bad instruction ldrhcs r8,[lr],#2' {standard input}:1515: Error: bad instruction ldrhcs ip,[r2],#2'
        {standard input}:1550: Error: bad instruction ldrhcs ip,[r9],#2' {standard input}:1598: Error: bad instruction ldrhcs r8,[r3],#2'
        {standard input}:1641: Error: bad instruction ldrhcs r10,[r3],#2' {standard input}:1691: Error: bad instruction ldrhcs r6,[r3],#2'
        {standard input}:1729: Error: bad instruction ldrhcs r5,[r3],#2' {standard input}:2004: Error: bad instruction ldrhcs r5,[r2],#2'
        {standard input}:2050: Error: bad instruction ldrhcs r6,[r3],#2' {standard input}:2087: Error: bad instruction ldrhcs r4,[r3],#2'
        {standard input}:2131: Error: bad instruction ldrhcs r6,[r3],#2' {standard input}:2171: Error: bad instruction ldrhcs r4,[r3],#2'
        {standard input}:2215: Error: bad instruction ldrhcs r6,[r3],#2' {standard input}:2429: Error: bad instruction ldrhcs r7,[r3],#2'
        {standard input}:2591: Error: bad instruction ldrhcs r1,[r3],#2' {standard input}:2627: Error: bad instruction ldrhcs r7,[r3],#2'
        {standard input}:2673: Error: bad instruction ldrhcs r5,[r3],#2' {standard input}:2709: Error: bad instruction ldrhcs r5,[r3],#2'
        {standard input}:2748: Error: bad instruction ldrhcs r5,[r3],#2' {standard input}:2797: Error: bad instruction ldrhcs r5,[r3],#2'
        {standard input}:2898: Error: bad instruction ldrhcs r4,[r2],#2' {standard input}:2939: Error: bad instruction ldrhcs r4,[r3],#2'
        {standard input}:3024: Error: bad instruction ldrhcs r5,[r3],#2' {standard input}:3066: Error: bad instruction ldrhcs r7,[r3],#2'
        {standard input}:3112: Error: bad instruction ldrhcs r7,[r3],#2' {standard input}:3155: Error: bad instruction ldrhcs r7,[r3],#2'
        {standard input}:3198: Error: bad instruction ldrhcs r8,[r3],#2' {standard input}:3237: Error: bad instruction ldrhcs r5,[r3],#2'
        {standard input}:3281: Error: bad instruction ldrhcs r8,[r3],#2' {standard input}:3326: Error: bad instruction ldrhcs r5,[r3],#2'
        {standard input}:3370: Error: bad instruction ldrhcs r8,[r3],#2' {standard input}:3438: Error: bad instruction ldrhcs r1,[r2],#2'
        {standard input}:3479: Error: bad instruction ldrhcs r7,[r3],#2' {standard input}:3594: Error: bad instruction ldrhcs r4,[r3],#2'
        {standard input}:3635: Error: bad instruction ldrhcs r4,[r3],#2' {standard input}:3675: Error: bad instruction ldrhcs r6,[r3],#2'
        {standard input}:3715: Error: bad instruction ldrhcs r4,[r3],#2' {standard input}:3762: Error: bad instruction ldrhcs r4,[r3],#2'
        {standard input}:3802: Error: bad instruction ldrhcs r6,[r3],#2' {standard input}:3842: Error: bad instruction ldrhcs r4,[r3],#2'
        {standard input}:3888: Error: bad instruction ldrhcs lr,[r2],#2' {standard input}:3925: Error: bad instruction ldrhcs r5,[r2],#2'
        {standard input}:3971: Error: bad instruction ldrhcs r4,[r3],#2' {standard input}:4012: Error: bad instruction ldrhcs r6,[r3],#2'
        {standard input}:4065: Error: bad instruction ldrhcs r6,[r3],#2' {standard input}:4108: Error: bad instruction ldrhcs r6,[r3],#2'
        {standard input}:4169: Error: bad instruction ldrhcs r7,[r2],#2' {standard input}:4613: Error: bad instruction ldrhcs r10,[r3],#2'
        {standard input}:4686: Error: bad instruction ldrhcs r10,[r3],#2' {standard input}:4800: Error: bad instruction ldrhcs fp,[r1],#2'
        {standard input}:4930: Error: bad instruction ldrhcs fp,[r0],#2' {standard input}:8877: Error: bad instruction ldrhcs lr,[r1],#2'
        {standard input}:8986: Error: bad instruction ldrhcs r8,[r3],#2' {standard input}:9024: Error: bad instruction ldrhcs r6,[r10],#2'
        {standard input}:9077: Error: bad instruction ldrhcs r7,[r2],#2' {standard input}:9119: Error: bad instruction ldrhcs r8,[r3],#2'
        {standard input}:9173: Error: bad instruction ldrhcs r10,[r3],#2' {standard input}:9228: Error: bad instruction ldrhcs r6,[r7],#2'
        {standard input}:9360: Error: bad instruction ldrhcs r10,[r3],#2' {standard input}:9475: Error: bad instruction ldrhcs r0,[r6],#2'
        {standard input}:9641: Error: bad instruction ldrhcs r5,[r2],#2' {standard input}:10584: Error: bad instruction ldrhcs r10,[r3],#2'
        {standard input}:10665: Error: bad instruction ldrhcs r0,[ip],#2' {standard input}:11042: Error: bad instruction ldrhcs r1,[r10],#2'
        {standard input}:11145: Error: bad instruction ldrhcs r2,[r10],#2' {standard input}:11414: Error: bad instruction ldrhcs r2,[lr],#2'
        {standard input}:11485: Error: bad instruction ldrhcs r0,[lr],#2' {standard input}:11632: Error: bad instruction ldrhcs r2,[ip],#2'
        {standard input}:11670: Error: bad instruction ldrhcs lr,[ip],#2' {standard input}:11724: Error: bad instruction ldrhcs lr,[r5],#2'
        {standard input}:11822: Error: bad instruction ldrhcs r8,[r3],#2' {standard input}:11904: Error: bad instruction ldrhcs r8,[r3],#2'
        {standard input}:12634: Error: bad instruction ldrhcs fp,[r3],#2' {standard input}:12705: Error: bad instruction ldrhcs fp,[r3],#2'
        {standard input}:12789: Error: bad instruction ldrhcs r6,[r2],#2' {standard input}:12830: Error: bad instruction ldrhcs r5,[r3],#2'
        {standard input}:12882: Error: bad instruction ldrhcs fp,[r3],#2' {standard input}:12936: Error: bad instruction ldrhcs r5,[r3],#2'
        {standard input}:12976: Error: bad instruction ldrhcs r6,[r2],#2' {standard input}:13014: Error: bad instruction ldrhcs r7,[r8],#2'
        {standard input}:13091: Error: bad instruction ldrhcs r0,[r5],#2' {standard input}:13258: Error: bad instruction ldrhcs fp,[ip],#2'
        {standard input}:13349: Error: bad instruction ldrhcs fp,[r3],#2' {standard input}:13415: Error: bad instruction ldrhcs r3,[ip],#2'
        {standard input}:13503: Error: bad instruction ldrhcs fp,[lr],#2' {standard input}:13609: Error: bad instruction ldrhcs fp,[r3],#2'
        {standard input}:13678: Error: bad instruction ldrhcs ip,[lr],#2' {standard input}:13878: Error: bad instruction ldrhcs r3,[r4],#2'
        {standard input}:13973: Error: bad instruction ldrhcs r1,[r4],#2' {standard input}:14063: Error: bad instruction ldrhcs r7,[r1],#2'
        {standard input}:14144: Error: bad instruction ldrhcs r4,[r7],#2' {standard input}:14199: Error: bad instruction ldrhcs r4,[lr],#2'
        {standard input}:14239: Error: bad instruction ldrhcs r3,[r4],#2' {standard input}:14295: Error: bad instruction ldrhcs r8,[r3],#2'
        {standard input}:14340: Error: bad instruction ldrhcs r8,[r3],#2' {standard input}:14440: Error: bad instruction ldrhcs r8,[r3],#2'
        {standard input}:14488: Error: bad instruction `ldrhcs r8,[r3],#2'
        [5/10289] CXX obj.host/src/3rdparty/chromium/third_party/prot...f/src/google/protobuf/stubs/protobuf_full_do_not_use.common.o
        ninja: build stopped: subcommand failed.
        Makefile.gyp_run:283: recipe for target 'invoke_ninja' failed
        make[3]: *** [invoke_ninja] Error 1
        make[3]: Leaving directory '/home/philippe/raspi/qtwebengine/src/core'
        Makefile:116: recipe for target 'sub-gyp_run-pro-make_first' failed
        make[2]: *** [sub-gyp_run-pro-make_first] Error 2
        make[2]: Leaving directory '/home/philippe/raspi/qtwebengine/src/core'
        Makefile:49: recipe for target 'sub-core-make_first' failed
        make[1]: *** [sub-core-make_first] Error 2
        make[1]: Leaving directory '/home/philippe/raspi/qtwebengine/src'
        Makefile:44: recipe for target 'sub-src-make_first' failed
        make: *** [sub-src-make_first] Error 2
        philippe@linux-PhA:~/raspi/qtwebengine>

        Anybody can help me ?
        Many thanks.

        1 Reply Last reply
        0
        • sneubertS Offline
          sneubertS Offline
          sneubert
          wrote on last edited by sneubert
          #4

          Hi Trom,

          there was a patch to make chromium compile with clang supporting different assembler instructions. A bad but working hack is to change all occurrences of ldrhcs to ldrcsh in qt5/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/arm/vp56_arith.h. Also if you like to use pepper plugins (for example you can extract a recent flash pepper plugin from a chromebook arm image) change enable_plugins=1 in qt5/qtwebengine/src/core/config/embedded_linux.pri

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved