Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QtWebEngine
  4. Cross-compile QtWebEngine for Raspberry 3
QtWS25 Last Chance

Cross-compile QtWebEngine for Raspberry 3

Scheduled Pinned Locked Moved Unsolved QtWebEngine
12 Posts 4 Posters 1.8k Views
  • 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.
  • DiegOneD Offline
    DiegOneD Offline
    DiegOne
    wrote on last edited by
    #1

    I am trying to cross compile QT 5.15.2 for a Raspberry Pi 3. I am following this guide: https://ebsolution31.wordpress.com/2020/10/08/cross-compile-qt/

    I can cross compile qtbase, but I failed many times to cross compile qt-webengine. After the make command of the qtwebengine every times I get this error:

    ...
    [4/13058] /home/administrator/raspi/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -MMD -MF obj/third_party/zlib/bundled_zlib/deflate.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=3fcc1d4e44127006318371002a0f421a4fde2ab4 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DZLIB_IMPLEMENTATION -DADLER32_SIMD_NEON -DINFLATE_CHUNK_SIMD_NEON -DCRC32_ARMV8_CRC32 -DARMV8_OS_LINUX -Igen -I../../3rdparty/chromium -I../../3rdparty/chromium/third_party/zlib -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -march=armv8-a -mfloat-abi=hard -mtune=cortex-a53 -mfpu=neon -mthumb -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wno-psabi -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu11 --sysroot=../../../../../../sysroot -c ../../3rdparty/chromium/third_party/zlib/deflate.c -o obj/third_party/zlib/bundled_zlib/deflate.o
    FAILED: obj/third_party/zlib/bundled_zlib/deflate.o 
    /home/administrator/raspi/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -MMD -MF obj/third_party/zlib/bundled_zlib/deflate.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=3fcc1d4e44127006318371002a0f421a4fde2ab4 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DZLIB_IMPLEMENTATION -DADLER32_SIMD_NEON -DINFLATE_CHUNK_SIMD_NEON -DCRC32_ARMV8_CRC32 -DARMV8_OS_LINUX -Igen -I../../3rdparty/chromium -I../../3rdparty/chromium/third_party/zlib -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -march=armv8-a -mfloat-abi=hard -mtune=cortex-a53 -mfpu=neon -mthumb -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wno-psabi -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu11 --sysroot=../../../../../../sysroot -c ../../3rdparty/chromium/third_party/zlib/deflate.c -o obj/third_party/zlib/bundled_zlib/deflate.o
    In file included from ../../3rdparty/chromium/third_party/zlib/deflate.c:54:0:
    ../../3rdparty/chromium/third_party/zlib/contrib/optimizations/insert_string.h:58:42: error: attribute(target("arch=armv8-a+crc")) is unknown
                                              const Pos str) {
                                              ^~~~~
    cc1: warning: unrecognized command line option ‘-Wno-packed-not-aligned’
    ...
    
    ninja: build stopped: subcommand failed.
    make[3]: *** [Makefile.gn_run:344: run_ninja] Error 1
    make[3]: Leaving directory '/home/administrator/raspi/qt_source/qt_5.15.2/qtwebengine/src/core'
    make[2]: *** [Makefile:82: sub-gn_run-pro-make_first] Error 2
    make[2]: Leaving directory '/home/administrator/raspi/qt_source/qt_5.15.2/qtwebengine/src/core'
    make[1]: *** [Makefile:79: sub-core-make_first] Error 2
    make[1]: Leaving directory '/home/administrator/raspi/qt_source/qt_5.15.2/qtwebengine/src'
    make: *** [Makefile:49: sub-src-make_first] Error 2
    
    

    I saw in many forum that could be related to a RAM problems or a lack of resources. I have tried to give the command on a 16 GB RAM machine and also tried to create a big swapfile without any result.
    I saw that there are these 2 rows:

    FAILED: obj/third_party/zlib/bundled_zlib/deflate.o 
    error: attribute(target("arch=armv8-a+crc")) is unknown
    

    Could you please help me to find a solution? Thanks

    I will post my .config summary configuration of the qtwebengine:

    Configure summary QTWEBENGINE:
    
    Qt WebEngine Build Tools:
      Use System Ninja ....................... yes
      Use System Gn .......................... no
      Jumbo Build Merge Limit ................ 8
      Developer build ........................ no
      Sanitizer .............................. no
      QtWebEngine required system libraries:
        fontconfig ........................... yes
        dbus ................................. yes
        nss .................................. yes
        khr .................................. yes
        glibc ................................ yes
      Optional system libraries used:
        re2 .................................. no
        icu .................................. no
        libwebp, libwebpmux and libwebpdemux . no
        opus ................................. no
        ffmpeg ............................... no
        libvpx ............................... no
        snappy ............................... no
        glib ................................. yes
        zlib ................................. yes
        minizip .............................. no
        libevent ............................. no
        jsoncpp .............................. no
        protobuf ............................. no
        libxml2 and libxslt .................. yes
        lcms2 ................................ yes
        png .................................. yes
        JPEG ................................. yes
        harfbuzz ............................. no
        freetype ............................. yes
    Qt WebEngineCore:
      Embedded build ......................... yes
      Full debug information ................. no
      Pepper Plugins ......................... no
      Printing and PDF ....................... no
      Proprietary Codecs ..................... yes
      Spellchecker ........................... yes
      Native Spellchecker .................... no
      WebRTC ................................. no
      PipeWire over GIO ...................... no
      Geolocation ............................ no
      WebChannel support ..................... no
      Kerberos Authentication ................ no
      Extensions ............................. no
      Node.js ................................ yes
      Support qpa-xcb ........................ no
      Building v8 snapshot supported ......... yes
      Use ALSA ............................... yes
      Use PulseAudio ......................... yes
    Qt WebEngineQml:
      Support Qt WebEngine Qml ............... yes
      UI Delegates ........................... yes
      Test Support ........................... no
    Qt WebEngineWidgets:
      Support Qt WebEngine Widgets ........... yes
    Qt PDF:
      Support V8 ............................. no
      Support XFA ............................ no
      Support XFA-BMP ........................ no
      Support XFA-GIF ........................ no
      Support XFA-PNG ........................ no
      Support XFA-TIFF ....................... no
    Qt PDF Widgets:
      Support Qt PDF Widgets ................. yes
    
    Qt is now configured for building. Just run 'make'.
    Once everything is built, you must run 'make install'.
    Qt will be installed into '/home/administrator/raspi/qt5pi'.
    
    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.
    
    artwawA raven-worxR 2 Replies Last reply
    0
    • DiegOneD DiegOne

      I am trying to cross compile QT 5.15.2 for a Raspberry Pi 3. I am following this guide: https://ebsolution31.wordpress.com/2020/10/08/cross-compile-qt/

      I can cross compile qtbase, but I failed many times to cross compile qt-webengine. After the make command of the qtwebengine every times I get this error:

      ...
      [4/13058] /home/administrator/raspi/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -MMD -MF obj/third_party/zlib/bundled_zlib/deflate.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=3fcc1d4e44127006318371002a0f421a4fde2ab4 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DZLIB_IMPLEMENTATION -DADLER32_SIMD_NEON -DINFLATE_CHUNK_SIMD_NEON -DCRC32_ARMV8_CRC32 -DARMV8_OS_LINUX -Igen -I../../3rdparty/chromium -I../../3rdparty/chromium/third_party/zlib -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -march=armv8-a -mfloat-abi=hard -mtune=cortex-a53 -mfpu=neon -mthumb -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wno-psabi -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu11 --sysroot=../../../../../../sysroot -c ../../3rdparty/chromium/third_party/zlib/deflate.c -o obj/third_party/zlib/bundled_zlib/deflate.o
      FAILED: obj/third_party/zlib/bundled_zlib/deflate.o 
      /home/administrator/raspi/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -MMD -MF obj/third_party/zlib/bundled_zlib/deflate.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=3fcc1d4e44127006318371002a0f421a4fde2ab4 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DZLIB_IMPLEMENTATION -DADLER32_SIMD_NEON -DINFLATE_CHUNK_SIMD_NEON -DCRC32_ARMV8_CRC32 -DARMV8_OS_LINUX -Igen -I../../3rdparty/chromium -I../../3rdparty/chromium/third_party/zlib -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -march=armv8-a -mfloat-abi=hard -mtune=cortex-a53 -mfpu=neon -mthumb -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wno-psabi -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu11 --sysroot=../../../../../../sysroot -c ../../3rdparty/chromium/third_party/zlib/deflate.c -o obj/third_party/zlib/bundled_zlib/deflate.o
      In file included from ../../3rdparty/chromium/third_party/zlib/deflate.c:54:0:
      ../../3rdparty/chromium/third_party/zlib/contrib/optimizations/insert_string.h:58:42: error: attribute(target("arch=armv8-a+crc")) is unknown
                                                const Pos str) {
                                                ^~~~~
      cc1: warning: unrecognized command line option ‘-Wno-packed-not-aligned’
      ...
      
      ninja: build stopped: subcommand failed.
      make[3]: *** [Makefile.gn_run:344: run_ninja] Error 1
      make[3]: Leaving directory '/home/administrator/raspi/qt_source/qt_5.15.2/qtwebengine/src/core'
      make[2]: *** [Makefile:82: sub-gn_run-pro-make_first] Error 2
      make[2]: Leaving directory '/home/administrator/raspi/qt_source/qt_5.15.2/qtwebengine/src/core'
      make[1]: *** [Makefile:79: sub-core-make_first] Error 2
      make[1]: Leaving directory '/home/administrator/raspi/qt_source/qt_5.15.2/qtwebengine/src'
      make: *** [Makefile:49: sub-src-make_first] Error 2
      
      

      I saw in many forum that could be related to a RAM problems or a lack of resources. I have tried to give the command on a 16 GB RAM machine and also tried to create a big swapfile without any result.
      I saw that there are these 2 rows:

      FAILED: obj/third_party/zlib/bundled_zlib/deflate.o 
      error: attribute(target("arch=armv8-a+crc")) is unknown
      

      Could you please help me to find a solution? Thanks

      I will post my .config summary configuration of the qtwebengine:

      Configure summary QTWEBENGINE:
      
      Qt WebEngine Build Tools:
        Use System Ninja ....................... yes
        Use System Gn .......................... no
        Jumbo Build Merge Limit ................ 8
        Developer build ........................ no
        Sanitizer .............................. no
        QtWebEngine required system libraries:
          fontconfig ........................... yes
          dbus ................................. yes
          nss .................................. yes
          khr .................................. yes
          glibc ................................ yes
        Optional system libraries used:
          re2 .................................. no
          icu .................................. no
          libwebp, libwebpmux and libwebpdemux . no
          opus ................................. no
          ffmpeg ............................... no
          libvpx ............................... no
          snappy ............................... no
          glib ................................. yes
          zlib ................................. yes
          minizip .............................. no
          libevent ............................. no
          jsoncpp .............................. no
          protobuf ............................. no
          libxml2 and libxslt .................. yes
          lcms2 ................................ yes
          png .................................. yes
          JPEG ................................. yes
          harfbuzz ............................. no
          freetype ............................. yes
      Qt WebEngineCore:
        Embedded build ......................... yes
        Full debug information ................. no
        Pepper Plugins ......................... no
        Printing and PDF ....................... no
        Proprietary Codecs ..................... yes
        Spellchecker ........................... yes
        Native Spellchecker .................... no
        WebRTC ................................. no
        PipeWire over GIO ...................... no
        Geolocation ............................ no
        WebChannel support ..................... no
        Kerberos Authentication ................ no
        Extensions ............................. no
        Node.js ................................ yes
        Support qpa-xcb ........................ no
        Building v8 snapshot supported ......... yes
        Use ALSA ............................... yes
        Use PulseAudio ......................... yes
      Qt WebEngineQml:
        Support Qt WebEngine Qml ............... yes
        UI Delegates ........................... yes
        Test Support ........................... no
      Qt WebEngineWidgets:
        Support Qt WebEngine Widgets ........... yes
      Qt PDF:
        Support V8 ............................. no
        Support XFA ............................ no
        Support XFA-BMP ........................ no
        Support XFA-GIF ........................ no
        Support XFA-PNG ........................ no
        Support XFA-TIFF ....................... no
      Qt PDF Widgets:
        Support Qt PDF Widgets ................. yes
      
      Qt is now configured for building. Just run 'make'.
      Once everything is built, you must run 'make install'.
      Qt will be installed into '/home/administrator/raspi/qt5pi'.
      
      Prior to reconfiguration, make sure you remove any leftovers from
      the previous build.
      
      artwawA Offline
      artwawA Offline
      artwaw
      wrote on last edited by
      #2

      @DiegOne On Linux, Clang or GCC version 5 or later is required. Supported configurations are linux-g++, linux-clang and linux-clang-libc++

      https://doc.qt.io/qt-5/qtwebengine-platform-notes.html

      Skip the not supported modules. Also the ones you'd not need.

      For more information please re-read.

      Kind Regards,
      Artur

      DiegOneD 1 Reply Last reply
      0
      • artwawA artwaw

        @DiegOne On Linux, Clang or GCC version 5 or later is required. Supported configurations are linux-g++, linux-clang and linux-clang-libc++

        https://doc.qt.io/qt-5/qtwebengine-platform-notes.html

        Skip the not supported modules. Also the ones you'd not need.

        DiegOneD Offline
        DiegOneD Offline
        DiegOne
        wrote on last edited by DiegOne
        #3

        @artwaw

        Thanks for your answer. By the way I have used a gcc 7.4.1.

        This is my command to configure qtbase:

        ./configure -release -opengl es2 -device linux-rasp-pi3-vc4-g++ -device-option CROSS_COMPILE=~/raspi/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -opensource -confirm-license -nomake tests -nomake examples -make libs -verbose -no-pch -eglfs -no-xcb -no-use-gold-linker -sysroot ~/raspi/sysroot -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -no-gbm -libinput -libudev
        
        

        What you are suggesting to change with your comment?
        Thanks

        artwawA 1 Reply Last reply
        0
        • DiegOneD DiegOne

          @artwaw

          Thanks for your answer. By the way I have used a gcc 7.4.1.

          This is my command to configure qtbase:

          ./configure -release -opengl es2 -device linux-rasp-pi3-vc4-g++ -device-option CROSS_COMPILE=~/raspi/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -opensource -confirm-license -nomake tests -nomake examples -make libs -verbose -no-pch -eglfs -no-xcb -no-use-gold-linker -sysroot ~/raspi/sysroot -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -no-gbm -libinput -libudev
          
          

          What you are suggesting to change with your comment?
          Thanks

          artwawA Offline
          artwawA Offline
          artwaw
          wrote on last edited by
          #4

          @DiegOne

          @artwaw said in Cross-compile QtWebEngine for Raspberry 3:

          Skip the not supported modules. Also the ones you'd not need.

          https://doc.qt.io/qt-5/configure-options.html

          -skip qtwebengine and every module you don't need or is not supported.

          For more information please re-read.

          Kind Regards,
          Artur

          1 Reply Last reply
          0
          • DiegOneD Offline
            DiegOneD Offline
            DiegOne
            wrote on last edited by
            #5

            @artwaw
            Sorry, I can't understand if you are so general.

            jsulmJ artwawA 2 Replies Last reply
            0
            • DiegOneD DiegOne

              @artwaw
              Sorry, I can't understand if you are so general.

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #6

              @DiegOne The suggestion was to disable all modules you do not need.
              To do so you use "-skip MODULE_NAME" configure parameter, like "-skip qtwebengine" to disable QtWebengine module.

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • DiegOneD Offline
                DiegOneD Offline
                DiegOne
                wrote on last edited by DiegOne
                #7

                @jsulm thanks but my goal is to cross compile qtwebengine.
                In the guide I follow I can correctly build qtbase with the configure command I posted in the previous comment but when I try to build qtwebengine I get the error I described above. This is my procedure to build qtwebengine:

                cd ~/raspi/qt_source/qt_5.15.2
                git clone https://code.qt.io/qt/qtwebengine.git
                cd qtwebengine/
                git submodule init
                git checkout 5.15.2
                git submodule update
                ~/raspi/qt5/bin/qmake -- -webengine-proprietary-codecs
                make
                ERROR DESCRIBED ABOVE
                
                1 Reply Last reply
                0
                • DiegOneD DiegOne

                  @artwaw
                  Sorry, I can't understand if you are so general.

                  artwawA Offline
                  artwawA Offline
                  artwaw
                  wrote on last edited by
                  #8

                  @DiegOne said in Cross-compile QtWebEngine for Raspberry 3:

                  Sorry, I can't understand if you are so general.

                  I was not general, you simply did not read the documentation that I linked. Then you would know what configure options are and how you can use them.

                  @DiegOne said in Cross-compile QtWebEngine for Raspberry 3:

                  my goal is to cross compile qtwebengine

                  Again, should you read the link I posted a few posts above - The QtWebEngine Platform Notes - you'd see that for this module the platform you want to compile for is not supported.

                  For more information please re-read.

                  Kind Regards,
                  Artur

                  DiegOneD 1 Reply Last reply
                  3
                  • artwawA artwaw

                    @DiegOne said in Cross-compile QtWebEngine for Raspberry 3:

                    Sorry, I can't understand if you are so general.

                    I was not general, you simply did not read the documentation that I linked. Then you would know what configure options are and how you can use them.

                    @DiegOne said in Cross-compile QtWebEngine for Raspberry 3:

                    my goal is to cross compile qtwebengine

                    Again, should you read the link I posted a few posts above - The QtWebEngine Platform Notes - you'd see that for this module the platform you want to compile for is not supported.

                    DiegOneD Offline
                    DiegOneD Offline
                    DiegOne
                    wrote on last edited by DiegOne
                    #9

                    @artwaw
                    Thanks for your answer. I read and I re-read everything but for me is not clear since I am a beginner in qt and in cross compilation.
                    With this phrase:
                    "Supported configurations are linux-g++, linux-clang and linux-clang-libc++"
                    Are you telling me that it is not possible to cross-compile QtWebEngine for Raspberry 3? Why there are many guides talking about that?
                    In the link I also notice this phrase:
                    "It means that Qt WebEngine 5.15 can be built with Qt 5.12.x, Qt 5.14.x, and Qt 5.15."
                    Maybe should I try to cross compile version qt5.15 instead of qt 5.15.2?
                    Thanks in advance and I am sorry if I could not get the point.

                    artwawA 1 Reply Last reply
                    0
                    • DiegOneD DiegOne

                      @artwaw
                      Thanks for your answer. I read and I re-read everything but for me is not clear since I am a beginner in qt and in cross compilation.
                      With this phrase:
                      "Supported configurations are linux-g++, linux-clang and linux-clang-libc++"
                      Are you telling me that it is not possible to cross-compile QtWebEngine for Raspberry 3? Why there are many guides talking about that?
                      In the link I also notice this phrase:
                      "It means that Qt WebEngine 5.15 can be built with Qt 5.12.x, Qt 5.14.x, and Qt 5.15."
                      Maybe should I try to cross compile version qt5.15 instead of qt 5.15.2?
                      Thanks in advance and I am sorry if I could not get the point.

                      artwawA Offline
                      artwawA Offline
                      artwaw
                      wrote on last edited by
                      #10

                      @DiegOne said in Cross-compile QtWebEngine for Raspberry 3:

                      Why there are many guides talking about that?

                      Ask the ones who wrote them? They obviously seem to know better.

                      According to the documentation it is not supported and likely not possible. If you find a way that works and can be replicated please do share as I think many people will be grateful.

                      For more information please re-read.

                      Kind Regards,
                      Artur

                      DiegOneD 1 Reply Last reply
                      0
                      • artwawA artwaw

                        @DiegOne said in Cross-compile QtWebEngine for Raspberry 3:

                        Why there are many guides talking about that?

                        Ask the ones who wrote them? They obviously seem to know better.

                        According to the documentation it is not supported and likely not possible. If you find a way that works and can be replicated please do share as I think many people will be grateful.

                        DiegOneD Offline
                        DiegOneD Offline
                        DiegOne
                        wrote on last edited by
                        #11

                        @artwaw
                        If I am asking here is because I need help, not for wasting time. I already asked to the people who made the guide but they didn't reply.
                        do you think that also this official guide is not working?
                        https://wiki.qt.io/RaspberryPi2EGLFS

                        1 Reply Last reply
                        0
                        • DiegOneD DiegOne

                          I am trying to cross compile QT 5.15.2 for a Raspberry Pi 3. I am following this guide: https://ebsolution31.wordpress.com/2020/10/08/cross-compile-qt/

                          I can cross compile qtbase, but I failed many times to cross compile qt-webengine. After the make command of the qtwebengine every times I get this error:

                          ...
                          [4/13058] /home/administrator/raspi/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -MMD -MF obj/third_party/zlib/bundled_zlib/deflate.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=3fcc1d4e44127006318371002a0f421a4fde2ab4 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DZLIB_IMPLEMENTATION -DADLER32_SIMD_NEON -DINFLATE_CHUNK_SIMD_NEON -DCRC32_ARMV8_CRC32 -DARMV8_OS_LINUX -Igen -I../../3rdparty/chromium -I../../3rdparty/chromium/third_party/zlib -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -march=armv8-a -mfloat-abi=hard -mtune=cortex-a53 -mfpu=neon -mthumb -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wno-psabi -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu11 --sysroot=../../../../../../sysroot -c ../../3rdparty/chromium/third_party/zlib/deflate.c -o obj/third_party/zlib/bundled_zlib/deflate.o
                          FAILED: obj/third_party/zlib/bundled_zlib/deflate.o 
                          /home/administrator/raspi/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -MMD -MF obj/third_party/zlib/bundled_zlib/deflate.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=3fcc1d4e44127006318371002a0f421a4fde2ab4 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DZLIB_IMPLEMENTATION -DADLER32_SIMD_NEON -DINFLATE_CHUNK_SIMD_NEON -DCRC32_ARMV8_CRC32 -DARMV8_OS_LINUX -Igen -I../../3rdparty/chromium -I../../3rdparty/chromium/third_party/zlib -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -march=armv8-a -mfloat-abi=hard -mtune=cortex-a53 -mfpu=neon -mthumb -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wno-psabi -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu11 --sysroot=../../../../../../sysroot -c ../../3rdparty/chromium/third_party/zlib/deflate.c -o obj/third_party/zlib/bundled_zlib/deflate.o
                          In file included from ../../3rdparty/chromium/third_party/zlib/deflate.c:54:0:
                          ../../3rdparty/chromium/third_party/zlib/contrib/optimizations/insert_string.h:58:42: error: attribute(target("arch=armv8-a+crc")) is unknown
                                                                    const Pos str) {
                                                                    ^~~~~
                          cc1: warning: unrecognized command line option ‘-Wno-packed-not-aligned’
                          ...
                          
                          ninja: build stopped: subcommand failed.
                          make[3]: *** [Makefile.gn_run:344: run_ninja] Error 1
                          make[3]: Leaving directory '/home/administrator/raspi/qt_source/qt_5.15.2/qtwebengine/src/core'
                          make[2]: *** [Makefile:82: sub-gn_run-pro-make_first] Error 2
                          make[2]: Leaving directory '/home/administrator/raspi/qt_source/qt_5.15.2/qtwebengine/src/core'
                          make[1]: *** [Makefile:79: sub-core-make_first] Error 2
                          make[1]: Leaving directory '/home/administrator/raspi/qt_source/qt_5.15.2/qtwebengine/src'
                          make: *** [Makefile:49: sub-src-make_first] Error 2
                          
                          

                          I saw in many forum that could be related to a RAM problems or a lack of resources. I have tried to give the command on a 16 GB RAM machine and also tried to create a big swapfile without any result.
                          I saw that there are these 2 rows:

                          FAILED: obj/third_party/zlib/bundled_zlib/deflate.o 
                          error: attribute(target("arch=armv8-a+crc")) is unknown
                          

                          Could you please help me to find a solution? Thanks

                          I will post my .config summary configuration of the qtwebengine:

                          Configure summary QTWEBENGINE:
                          
                          Qt WebEngine Build Tools:
                            Use System Ninja ....................... yes
                            Use System Gn .......................... no
                            Jumbo Build Merge Limit ................ 8
                            Developer build ........................ no
                            Sanitizer .............................. no
                            QtWebEngine required system libraries:
                              fontconfig ........................... yes
                              dbus ................................. yes
                              nss .................................. yes
                              khr .................................. yes
                              glibc ................................ yes
                            Optional system libraries used:
                              re2 .................................. no
                              icu .................................. no
                              libwebp, libwebpmux and libwebpdemux . no
                              opus ................................. no
                              ffmpeg ............................... no
                              libvpx ............................... no
                              snappy ............................... no
                              glib ................................. yes
                              zlib ................................. yes
                              minizip .............................. no
                              libevent ............................. no
                              jsoncpp .............................. no
                              protobuf ............................. no
                              libxml2 and libxslt .................. yes
                              lcms2 ................................ yes
                              png .................................. yes
                              JPEG ................................. yes
                              harfbuzz ............................. no
                              freetype ............................. yes
                          Qt WebEngineCore:
                            Embedded build ......................... yes
                            Full debug information ................. no
                            Pepper Plugins ......................... no
                            Printing and PDF ....................... no
                            Proprietary Codecs ..................... yes
                            Spellchecker ........................... yes
                            Native Spellchecker .................... no
                            WebRTC ................................. no
                            PipeWire over GIO ...................... no
                            Geolocation ............................ no
                            WebChannel support ..................... no
                            Kerberos Authentication ................ no
                            Extensions ............................. no
                            Node.js ................................ yes
                            Support qpa-xcb ........................ no
                            Building v8 snapshot supported ......... yes
                            Use ALSA ............................... yes
                            Use PulseAudio ......................... yes
                          Qt WebEngineQml:
                            Support Qt WebEngine Qml ............... yes
                            UI Delegates ........................... yes
                            Test Support ........................... no
                          Qt WebEngineWidgets:
                            Support Qt WebEngine Widgets ........... yes
                          Qt PDF:
                            Support V8 ............................. no
                            Support XFA ............................ no
                            Support XFA-BMP ........................ no
                            Support XFA-GIF ........................ no
                            Support XFA-PNG ........................ no
                            Support XFA-TIFF ....................... no
                          Qt PDF Widgets:
                            Support Qt PDF Widgets ................. yes
                          
                          Qt is now configured for building. Just run 'make'.
                          Once everything is built, you must run 'make install'.
                          Qt will be installed into '/home/administrator/raspi/qt5pi'.
                          
                          Prior to reconfiguration, make sure you remove any leftovers from
                          the previous build.
                          
                          raven-worxR Offline
                          raven-worxR Offline
                          raven-worx
                          Moderators
                          wrote on last edited by raven-worx
                          #12

                          @DiegOne said in Cross-compile QtWebEngine for Raspberry 3:

                          error: attribute(target("arch=armv8-a+crc")) is unknown

                          i think your issue is that the function has the attribute target("arch=armv8-a+crc") defined.
                          but according to your compile call your are only compiling with -march=armv8-a. So the +crc is missing. But better would be to find the cause why it wrongly detects that it wants the crc extension.

                          Read this for more details about the compiler option.

                          Also this guides says to configure Qt with -device linux-rasp-pi3-vc4-g++ options. This enables hw acceleration via KMS, which must be supported by the Linux kernel on the Pi (i dont know thats the case, might be). Whereas -device linux-rasp-pi3-g++ would use the default Broadcom graphics stack.
                          Is that really desired by you?

                          check the file qtbase/mkspecs/devices/<DEVICE-OPTION>/qmake.conf
                          in that file you could also add the +crc extension flag

                          --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                          If you have a question please use the forum so others can benefit from the solution in the future

                          1 Reply Last reply
                          1

                          • Login

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