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. QtWebengine build error with opus and silk codecs

QtWebengine build error with opus and silk codecs

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
arm7armqtwebegineneon
21 Posts 4 Posters 8.7k 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.
  • S SGaist
    4 Nov 2017, 21:03

    From the looks of it, your system looks like the linux-tegra2-g++ mkspec, maybe this one will be more suited to copy from.

    K Offline
    K Offline
    Kart
    wrote on 6 Nov 2017, 10:45 last edited by Kart 11 Jun 2017, 10:47
    #12

    @SGaist
    I have tried all these combinations

    -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfp
    
    -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16
    
    -mtune=cortex-a9 -march=armv7-a -mhard-float -mfloat-abi=softfp 
    -mfpu=vfpv3-d16
    

    and i got the same error

    libxxxx.a(yyyyy.o) uses VFP register arguments, libQt5WebEngineCore.so.5.9.1 does not
    

    I tried the tegra2 mkspecs, but again another error.

    ERROR at //build/config/android/internal_rules.gni:11:1: Assertion failed.
    assert(is_android)
    ^-----
    See //build/config/android/rules.gni:8:1: whence it was imported.
    import("//build/config/android/internal_rules.gni")
    ^-------------------------------------------------
    See //third_party/android_tools/BUILD.gn:5:1: whence it was imported.
    import("//build/config/android/rules.gni")
    ^----------------------------------------
    See //third_party/openmax_dl/dl/BUILD.gn:199:16: which caused the file to be included.
          deps = [ "//third_party/android_tools:cpu_features" ]
                   ^-----------------------------------------
    Project ERROR: GN run error!
    Makefile:80: recipe for target 'sub-gn_run-pro-make_first' failed
    make[3]: *** [sub-gn_run-pro-make_first] Error 3
    make[3]: Leaving directory '/opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.2/qtwebengine/src/core'
    Makefile:77: recipe for target 'sub-core-make_first' failed
    make[2]: *** [sub-core-make_first] Error 2
    make[2]: Leaving directory '/opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.2/qtwebengine/src'
    Makefile:46: recipe for target 'sub-src-make_first' failed
    make[1]: *** [sub-src-make_first] Error 2
    make[1]: Leaving directory '/opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.2/qtwebengine'
    Makefile:834: recipe for target 'module-qtwebengine-make_first' failed
    make: *** [module-qtwebengine-make_first] Error 2
    
    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 6 Nov 2017, 11:22 last edited by
      #13

      Might be a silly question but did you nuke properly the build folder between tries ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      K 1 Reply Last reply 6 Nov 2017, 11:28
      0
      • S SGaist
        6 Nov 2017, 11:22

        Might be a silly question but did you nuke properly the build folder between tries ?

        K Offline
        K Offline
        Kart
        wrote on 6 Nov 2017, 11:28 last edited by
        #14

        @SGaist I am deleting the source folder and doing all the steps from the beginning each and everytime.

        1 Reply Last reply
        0
        • S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 6 Nov 2017, 12:05 last edited by
          #15

          Ok, so when you said you tried the Tegra2 mkspec, did you just use it or did you copy from it into yours like I suggested ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          K 1 Reply Last reply 6 Nov 2017, 12:07
          0
          • S SGaist
            6 Nov 2017, 12:05

            Ok, so when you said you tried the Tegra2 mkspec, did you just use it or did you copy from it into yours like I suggested ?

            K Offline
            K Offline
            Kart
            wrote on 6 Nov 2017, 12:07 last edited by Kart 11 Jun 2017, 12:08
            #16

            @SGaist This is how i used it.

            include(../common/linux_device_pre.conf)
            
            QMAKE_INCDIR_POST      += $$[QT_SYSROOT]/usr/include
            
            QMAKE_LIBDIR_POST      += $$[QT_SYSROOT]/usr/lib
            
            QMAKE_RPATHLINKDIR_POST += $$[QT_SYSROOT]/usr/lib
            
            QMAKE_CFLAGS           += -mtune=cortex-a9 -march=armv7-a -mhard-float -mfloat-abi=softfp -mfpu=vfpv3-d16
            QMAKE_CXXFLAGS         += -mtune=cortex-a9 -march=armv7-a -mhard-float -mfloat-abi=softfp -mfpu=vfpv3-d16
            
            include(../common/linux_arm_device_post.conf)
            
            load(qt_config)
            

            This is my qmake.conf.

            1 Reply Last reply
            0
            • K Offline
              K Offline
              Kart
              wrote on 7 Nov 2017, 12:47 last edited by
              #17

              Does anyone knows how ninja build in qtwebengine is getting these architecture values by default ?

              -mfloat-abi=hard -mtune=generic-armv7-a -mfpu=vfpv3-d16 -mthumb
              
              1 Reply Last reply
              0
              • S Offline
                S Offline
                SGaist
                Lifetime Qt Champion
                wrote on 7 Nov 2017, 22:22 last edited by
                #18

                From a quick look, somewhere around:

                src/3rdparty/chromium/breakpad/src/build/common.gypi
                src/3rdparty/chromium/build/config/compiler/BUILD.gn
                src/3rdparty/chromium/build/common.gypi
                src/3rdparty/chromium/native_client/build/standalone_flags.gypi
                src/3rdparty/chromium/native_client/build/untrusted.gypi
                ./src/core/config/linux.pri:    MFLOAT = $$extractCFlag("-mfloat-abi=.*")
                

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                K 1 Reply Last reply 8 Nov 2017, 06:35
                0
                • S SGaist
                  7 Nov 2017, 22:22

                  From a quick look, somewhere around:

                  src/3rdparty/chromium/breakpad/src/build/common.gypi
                  src/3rdparty/chromium/build/config/compiler/BUILD.gn
                  src/3rdparty/chromium/build/common.gypi
                  src/3rdparty/chromium/native_client/build/standalone_flags.gypi
                  src/3rdparty/chromium/native_client/build/untrusted.gypi
                  ./src/core/config/linux.pri:    MFLOAT = $$extractCFlag("-mfloat-abi=.*")
                  
                  K Offline
                  K Offline
                  Kart
                  wrote on 8 Nov 2017, 06:35 last edited by
                  #19

                  Thanks @SGaist. This file had some information. I am not sure with the syntax to make changes in this file.

                  ./src/core/config/linux.pri:    MFLOAT = $$extractCFlag("-mfloat-abi=.*")
                  

                  Whatever values I am giving to QMAKE_CFLAGS_RELEASE and QMAKE_CXXXFLAGS_RELEASE is not what GN build is taking.

                  Maybe if I figure out how to make changes in the file you have mentioned, I might be able to solve this issue.

                  1 Reply Last reply
                  0
                  • K Offline
                    K Offline
                    Kart
                    wrote on 8 Nov 2017, 11:27 last edited by Kart 11 Aug 2017, 12:04
                    #20

                    In the file

                    qtwebengine/src/3rdparty/chromium/third_party/opus/BUILD.gn:     use_opus_rtcd = current_cpu == "arm" && (is_win || is_android || is_linux)
                    
                    qtwebengine/src/3rdparty/chromium/third_party/opus/BUILD.gn: 
                     if (use_opus_rtcd) {
                          sources += [
                            "$target_gen_dir/celt_pitch_xcorr_arm_gnu.S",
                            "src/celt/arm/arm_celt_map.c",
                            "src/celt/arm/armcpu.c",
                            "src/celt/arm/armcpu.h",
                            "src/celt/arm/celt_neon_intr.c",
                            "src/celt/arm/fft_arm.h",
                            "src/celt/arm/mdct_arm.h",
                            "src/celt/arm/pitch_arm.h",
                            "src/silk/arm/NSQ_neon.c",
                            "src/silk/arm/NSQ_neon.h",
                            "src/silk/arm/arm_silk_map.c",
                          ]
                    

                    As far as I understood if the CPU is based on ARM and the OS is linux use_opus_rtcd becomes TRUE. If it becomes true, qtwebengine/src/3rdparty/chromium/third_party/opus/src/celt/arm/armcpu.c decides whether it have the NEON capabilities. I am trying to see that changing armcpu.c to not to use NEON might work or not.

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      Torsten Krause
                      wrote on 27 Nov 2017, 10:54 last edited by
                      #21

                      The chromium snapshot is outdated. There is already a fix for that!

                      link text

                      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