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.
  • K Kart
    27 Oct 2017, 06:44

    This is like my fourth or fifth post regarding QtWebengine. I am almost spaming the Qt forum i guess.
    I am trying to build Qt5.91 with QtWebengine for an arm platform.
    These are some architecture based arguments i am passing to the build.

    QMAKE_CFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9 
    QMAKE_CXXFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9
    

    By default the build is going these values as well.

    -mfloat-abi=hard -mtune=generic-armv7-a -mfpu=vfpv3-d16 -mthumb
    

    Below is my configuration summary

    Building on: linux-g++ (i386, CPU features: <none>)
    Building for: linux-arm-g++ (arm, CPU features: <none>)
    Configuration: cross_compile compile_examples enable_new_dtags largefile precompile_header shared rpath release c++11 concurrent dbus mremap reduce_exports stl
    Build options:
      Mode ................................... release
      Optimize release build for size ........ no
      Building shared libraries .............. yes
      Using C++ standard ..................... C++11
      Using gold linker ...................... no
      Using new DTAGS ........................ yes
      Using precompiled headers .............. yes
      Using LTCG ............................. no
      Target compiler supports:
        NEON ................................. no
      Build parts ............................ libs
    Qt modules and options:
      Qt Concurrent .......................... yes
      Qt D-Bus ............................... yes
      Qt D-Bus directly linked to libdbus .... no
      Qt Gui ................................. yes
      Qt Network ............................. yes
      Qt Sql ................................. yes
      Qt Testlib ............................. yes
      Qt Widgets ............................. yes
      Qt Xml ................................. yes
    Support enabled for:
      Using pkg-config ....................... yes
      QML debugging .......................... yes
      udev ................................... yes
      Using system zlib ...................... yes
    Qt Core:
      DoubleConversion ....................... yes
        Using system DoubleConversion ........ no
      GLib ................................... no
      iconv .................................. yes
      ICU .................................... no
      Logging backends:
        journald ............................. no
        syslog ............................... no
        slog2 ................................ no
      Using system PCRE2 ..................... no
    Qt Network:
      getaddrinfo() .......................... yes
      getifaddrs() ........................... yes
      IPv6 ifname ............................ yes
      libproxy ............................... no
      OpenSSL ................................ no
        Qt directly linked to OpenSSL ........ no
      SCTP ................................... no
      Use system proxies ..................... yes
    Qt Gui:
      Accessibility .......................... yes
      FreeType ............................... yes
        Using system FreeType ................ yes
      HarfBuzz ............................... yes
        Using system HarfBuzz ................ no
      Fontconfig ............................. yes
      Image formats:
        GIF .................................. yes
        ICO .................................. yes
        JPEG ................................. yes
          Using system libjpeg ............... no
        PNG .................................. yes
          Using system libpng ................ no
      EGL .................................... yes
      OpenVG ................................. no
      OpenGL:
        Desktop OpenGL ....................... no
        OpenGL ES 2.0 ........................ yes
        OpenGL ES 3.0 ........................ yes
        OpenGL ES 3.1 ........................ yes
      Session Management ..................... yes
    Features used by QPA backends:
      evdev .................................. yes
      libinput ............................... no
      INTEGRITY HID .......................... no
      mtdev .................................. no
      tslib .................................. no
      xkbcommon-evdev ........................ no
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. yes
      EGLFS details:
        EGLFS i.Mx6 .......................... no
        EGLFS i.Mx6 Wayland .................. no
        EGLFS EGLDevice ...................... no
        EGLFS GBM ............................ no
        EGLFS Mali ........................... no
        EGLFS Raspberry Pi ................... no
        EGL on X11 ........................... no
      LinuxFB ................................ yes
      VNC .................................... yes
      Mir client ............................. no
    Qt Widgets:
      GTK+ ................................... no
      Styles ................................. Fusion Windows
    Qt PrintSupport:
      CUPS ................................... no
    Qt Sql:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. no
      OCI (Oracle) ........................... no
      ODBC ................................... no
      PostgreSQL ............................. no
      SQLite2 ................................ no
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... no
    QtXmlPatterns:
      XML schema support ..................... yes
    Qt QML:
      QML interpreter ........................ yes
      QML network support .................... yes
    Qt Quick:
      Direct3D 12 ............................ no
      AnimatedImage item ..................... yes
      Canvas item ............................ yes
      Support for Qt Quick Designer .......... yes
      Flipable item .......................... yes
      GridView item .......................... yes
      ListView item .......................... yes
      Path support ........................... yes
      PathView item .......................... yes
      Positioner items ....................... yes
      ShaderEffect item ...................... yes
      Sprite item ............................ yes
    Qt Gamepad:
      SDL2 ................................... no
    Qt Bluetooth:
      BlueZ .................................. no
      BlueZ Low Energy ....................... no
      Linux Crypto API ....................... no
    Qt Sensors:
      sensorfw ............................... no
    Qt Multimedia:
      ALSA ................................... yes
      GStreamer 1.0 .......................... no
      GStreamer 0.10 ......................... no
      Video for Linux ........................ yes
      OpenAL ................................. no
      PulseAudio ............................. no
      Resource Policy (libresourceqt5) ....... no
      Windows Audio Services ................. no
      DirectShow ............................. no
      Windows Media Foundation ............... no
    Qt Quick Controls 2:
      Styles ................................. Default Material Universal
    Qt Quick Templates 2:
      Hover support .......................... yes
      Multi-touch support .................... yes
    Qt Location:
      Gypsy GPS Daemon ....................... no
      WinRT Geolocation API .................. no
    Qt WebEngine:
      Embedded build ......................... yes
      Pepper Plugins ......................... no
      Printing and PDF ....................... no
      Proprietary Codecs ..................... yes
      Spellchecker ........................... yes
      WebRTC ................................. no
      Using system ninja ..................... no
      ALSA ................................... yes
      PulseAudio ............................. no
      System libraries:
        ICU .................................. no
        libwebp and libwebpdemux ............. no
        Opus ................................. no
        ffmpeg ............................... no
    
    Note: Also available for Linux: linux-clang linux-icc
    

    This is the error i am getting.
    Now my question is, is it absolutely necessary to use opus and silk for QtWebengine ? If not, how can i avoid it ?
    Also why the build is trying to force -mfloat-abi=softfp and -mfpu=neon ?
    I did try a build with -mfpu=neon and it is giving me undefined reference to many variiables.

    Thank you for your time.

    Edit
    I tried passing -no-opus to the configuration and still got the same error.

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on 27 Oct 2017, 07:35 last edited by jsulm
    #2

    @name_qt The error message suggests a solution: -mfloat-abi=softfp -mfpu=neon

    /opt/arm400-linux/lib/gcc/arm400-linux-gnueabi/4.8.3/include/arm_neon.h:32:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
    

    Try to add -mfpu=neon

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

    K 1 Reply Last reply 27 Oct 2017, 08:12
    0
    • jsulmJ jsulm
      27 Oct 2017, 07:35

      @name_qt The error message suggests a solution: -mfloat-abi=softfp -mfpu=neon

      /opt/arm400-linux/lib/gcc/arm400-linux-gnueabi/4.8.3/include/arm_neon.h:32:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
      

      Try to add -mfpu=neon

      K Offline
      K Offline
      Kart
      wrote on 27 Oct 2017, 08:12 last edited by
      #3

      @jsulm I have tried that too.

      I did try a build with -mfpu=neon and it is giving me undefined reference to many variiables.
      
      1 Reply Last reply
      0
      • K Kart
        27 Oct 2017, 06:44

        This is like my fourth or fifth post regarding QtWebengine. I am almost spaming the Qt forum i guess.
        I am trying to build Qt5.91 with QtWebengine for an arm platform.
        These are some architecture based arguments i am passing to the build.

        QMAKE_CFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9 
        QMAKE_CXXFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9
        

        By default the build is going these values as well.

        -mfloat-abi=hard -mtune=generic-armv7-a -mfpu=vfpv3-d16 -mthumb
        

        Below is my configuration summary

        Building on: linux-g++ (i386, CPU features: <none>)
        Building for: linux-arm-g++ (arm, CPU features: <none>)
        Configuration: cross_compile compile_examples enable_new_dtags largefile precompile_header shared rpath release c++11 concurrent dbus mremap reduce_exports stl
        Build options:
          Mode ................................... release
          Optimize release build for size ........ no
          Building shared libraries .............. yes
          Using C++ standard ..................... C++11
          Using gold linker ...................... no
          Using new DTAGS ........................ yes
          Using precompiled headers .............. yes
          Using LTCG ............................. no
          Target compiler supports:
            NEON ................................. no
          Build parts ............................ libs
        Qt modules and options:
          Qt Concurrent .......................... yes
          Qt D-Bus ............................... yes
          Qt D-Bus directly linked to libdbus .... no
          Qt Gui ................................. yes
          Qt Network ............................. yes
          Qt Sql ................................. yes
          Qt Testlib ............................. yes
          Qt Widgets ............................. yes
          Qt Xml ................................. yes
        Support enabled for:
          Using pkg-config ....................... yes
          QML debugging .......................... yes
          udev ................................... yes
          Using system zlib ...................... yes
        Qt Core:
          DoubleConversion ....................... yes
            Using system DoubleConversion ........ no
          GLib ................................... no
          iconv .................................. yes
          ICU .................................... no
          Logging backends:
            journald ............................. no
            syslog ............................... no
            slog2 ................................ no
          Using system PCRE2 ..................... no
        Qt Network:
          getaddrinfo() .......................... yes
          getifaddrs() ........................... yes
          IPv6 ifname ............................ yes
          libproxy ............................... no
          OpenSSL ................................ no
            Qt directly linked to OpenSSL ........ no
          SCTP ................................... no
          Use system proxies ..................... yes
        Qt Gui:
          Accessibility .......................... yes
          FreeType ............................... yes
            Using system FreeType ................ yes
          HarfBuzz ............................... yes
            Using system HarfBuzz ................ no
          Fontconfig ............................. yes
          Image formats:
            GIF .................................. yes
            ICO .................................. yes
            JPEG ................................. yes
              Using system libjpeg ............... no
            PNG .................................. yes
              Using system libpng ................ no
          EGL .................................... yes
          OpenVG ................................. no
          OpenGL:
            Desktop OpenGL ....................... no
            OpenGL ES 2.0 ........................ yes
            OpenGL ES 3.0 ........................ yes
            OpenGL ES 3.1 ........................ yes
          Session Management ..................... yes
        Features used by QPA backends:
          evdev .................................. yes
          libinput ............................... no
          INTEGRITY HID .......................... no
          mtdev .................................. no
          tslib .................................. no
          xkbcommon-evdev ........................ no
        QPA backends:
          DirectFB ............................... no
          EGLFS .................................. yes
          EGLFS details:
            EGLFS i.Mx6 .......................... no
            EGLFS i.Mx6 Wayland .................. no
            EGLFS EGLDevice ...................... no
            EGLFS GBM ............................ no
            EGLFS Mali ........................... no
            EGLFS Raspberry Pi ................... no
            EGL on X11 ........................... no
          LinuxFB ................................ yes
          VNC .................................... yes
          Mir client ............................. no
        Qt Widgets:
          GTK+ ................................... no
          Styles ................................. Fusion Windows
        Qt PrintSupport:
          CUPS ................................... no
        Qt Sql:
          DB2 (IBM) .............................. no
          InterBase .............................. no
          MySql .................................. no
          OCI (Oracle) ........................... no
          ODBC ................................... no
          PostgreSQL ............................. no
          SQLite2 ................................ no
          SQLite ................................. yes
            Using system provided SQLite ......... no
          TDS (Sybase) ........................... no
        QtXmlPatterns:
          XML schema support ..................... yes
        Qt QML:
          QML interpreter ........................ yes
          QML network support .................... yes
        Qt Quick:
          Direct3D 12 ............................ no
          AnimatedImage item ..................... yes
          Canvas item ............................ yes
          Support for Qt Quick Designer .......... yes
          Flipable item .......................... yes
          GridView item .......................... yes
          ListView item .......................... yes
          Path support ........................... yes
          PathView item .......................... yes
          Positioner items ....................... yes
          ShaderEffect item ...................... yes
          Sprite item ............................ yes
        Qt Gamepad:
          SDL2 ................................... no
        Qt Bluetooth:
          BlueZ .................................. no
          BlueZ Low Energy ....................... no
          Linux Crypto API ....................... no
        Qt Sensors:
          sensorfw ............................... no
        Qt Multimedia:
          ALSA ................................... yes
          GStreamer 1.0 .......................... no
          GStreamer 0.10 ......................... no
          Video for Linux ........................ yes
          OpenAL ................................. no
          PulseAudio ............................. no
          Resource Policy (libresourceqt5) ....... no
          Windows Audio Services ................. no
          DirectShow ............................. no
          Windows Media Foundation ............... no
        Qt Quick Controls 2:
          Styles ................................. Default Material Universal
        Qt Quick Templates 2:
          Hover support .......................... yes
          Multi-touch support .................... yes
        Qt Location:
          Gypsy GPS Daemon ....................... no
          WinRT Geolocation API .................. no
        Qt WebEngine:
          Embedded build ......................... yes
          Pepper Plugins ......................... no
          Printing and PDF ....................... no
          Proprietary Codecs ..................... yes
          Spellchecker ........................... yes
          WebRTC ................................. no
          Using system ninja ..................... no
          ALSA ................................... yes
          PulseAudio ............................. no
          System libraries:
            ICU .................................. no
            libwebp and libwebpdemux ............. no
            Opus ................................. no
            ffmpeg ............................... no
        
        Note: Also available for Linux: linux-clang linux-icc
        

        This is the error i am getting.
        Now my question is, is it absolutely necessary to use opus and silk for QtWebengine ? If not, how can i avoid it ?
        Also why the build is trying to force -mfloat-abi=softfp and -mfpu=neon ?
        I did try a build with -mfpu=neon and it is giving me undefined reference to many variiables.

        Thank you for your time.

        Edit
        I tried passing -no-opus to the configuration and still got the same error.

        K Offline
        K Offline
        Kart
        wrote on 30 Oct 2017, 05:41 last edited by Kart 11 Apr 2017, 09:09
        #4

        Does anyone have any suggestions ? I am stuck with this for the last couple of days.

        I cross compiled opus separately and linked it with the Qt build. Now the error is something like this.

        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: error: /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/third_party/WebKit/Source/core/libcore_generated.a(CSSOMKeywords.o) uses VFP register arguments, libQt5WebEngineCore.so.5.9.1 does not
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: failed to merge target specific data of file /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/third_party/WebKit/Source/core/libcore_generated.a(CSSOMKeywords.o)
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: error: /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/third_party/WebKit/Source/bindings/core/v8/libbindings_core_impl.a(V8StyleMedia.o) uses VFP register arguments, libQt5WebEngineCore.so.5.9.1 does not
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: failed to merge target specific data of file /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/third_party/WebKit/Source/bindings/core/v8/libbindings_core_impl.a(V8StyleMedia.o)
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: error: /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/third_party/WebKit/Source/core/css/libcss_1.a(CSSRuleList.o) uses VFP register arguments, libQt5WebEngineCore.so.5.9.1 does not
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: failed to merge target specific data of file /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/third_party/WebKit/Source/core/css/libcss_1.a(CSSRuleList.o)
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: error: /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/third_party/WebKit/Source/core/css/libcss_2.a(MediaValuesInitialViewport.o) uses VFP register arguments, libQt5WebEngineCore.so.5.9.1 does not
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: failed to merge target specific data of file /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/third_party/WebKit/Source/core/css/libcss_2.a(MediaValuesInitialViewport.o)
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: error: /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/third_party/WebKit/Source/core/layout/svg/libsvg.a(LayoutSVGTSpan.o) uses VFP register arguments, libQt5WebEngineCore.so.5.9.1 does not
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: failed to merge target specific data of file /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/third_party/WebKit/Source/core/layout/svg/libsvg.a(LayoutSVGTSpan.o)
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: error: /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/ui/gl/libgl_wrapper.a(gl_image_egl.o) uses VFP register arguments, libQt5WebEngineCore.so.5.9.1 does not
        /opt/arm400-linux/bin/../lib/gcc/arm400-linux-gnueabi/4.8.3/../../../../arm400-linux-gnueabi/bin/ld: failed to merge target specific data of file /opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core/Release/obj/ui/gl/libgl_wrapper.a(gl_image_egl.o)
        collect2: error: ld returned 1 exit status
        Makefile.core_module:81: recipe for target '../../lib/libQt5WebEngineCore.so.5.9.1' failed
        make[4]: *** [../../lib/libQt5WebEngineCore.so.5.9.1] Error 1
        make[4]: Leaving directory '/opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/qtwebengine/src/core'
        Makefile:122: recipe for target 'sub-core_module-pro-make_first' failed
        make[3]: *** [sub-core_module-pro-make_first] Error 2
        make[3]: Leaving directory '/opt/qt/qt5.9.1arm_source/qt-everywhere-opensource-src-5.9.1/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.1/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.1/qtwebengine'
        Makefile:834: recipe for target 'module-qtwebengine-make_first' failed
        make: *** [module-qtwebengine-make_first] Error 2
        
        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on 30 Oct 2017, 22:22 last edited by
          #5

          Hi,

          From the error message, one is built for soft-float and the other for hard-float. You should check the compilation flags that were used.

          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 1 Nov 2017, 05:45
          0
          • SGaistS SGaist
            30 Oct 2017, 22:22

            Hi,

            From the error message, one is built for soft-float and the other for hard-float. You should check the compilation flags that were used.

            K Offline
            K Offline
            Kart
            wrote on 1 Nov 2017, 05:45 last edited by Kart 11 Jan 2017, 07:27
            #6

            @SGaist Is it necessary to have neon support in the chip architecture to compile and run qtwebengine or for these codecs ?
            How can I avoid using neon in the build ?

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on 1 Nov 2017, 20:24 last edited by
              #7

              I don't know, but I don't think so but thumb instructions have several advantages that are pretty interesting in the embedded world. You should rather consider enabling it.

              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 2 Nov 2017, 04:49
              0
              • SGaistS SGaist
                1 Nov 2017, 20:24

                I don't know, but I don't think so but thumb instructions have several advantages that are pretty interesting in the embedded world. You should rather consider enabling it.

                K Offline
                K Offline
                Kart
                wrote on 2 Nov 2017, 04:49 last edited by Kart 11 Feb 2017, 11:07
                #8

                @SGaist AFAIK, emulating neon in software will bring performance loss. My particular CPU hardware does not support neon and thereby, isn't it safe to disable it then ?
                My CPU (cortex a9) does not support neon nor does the compiler.
                -print-multi-lib gives

                armv5te_arm9;@mcpu=arm926ej-s
                a9;@mcpu=cortex-a9
                a7;@mcpu=cortex-a7
                armv5te_arm9_soft;@mcpu=arm926ej-s@mfloat-abi=soft
                armv5te_arm9_vfp;@mcpu=arm926ej-s@mfloat-abi=softfp@mfpu=vfp
                a9_soft;@mcpu=cortex-a9@mfloat-abi=soft
                a9_softfp_vfp;@mcpu=cortex-a9@mfloat-abi=softfp@mfpu=vfp
                a9_softfp_vfpv3-d16;@mcpu=cortex-a9@mfloat-abi=softfp@mfpu=vfpv3-d16
                a7_soft;@mcpu=cortex-a7@mfloat-abi=soft
                a7_softfp_vfpv4;@mcpu=cortex-a7@mfloat-abi=softfp@mfpu=vfpv4
                a7_softfp_neon-vfpv4;@mcpu=cortex-a7@mfloat-abi=softfp@mfpu=neon-vfpv4
                a7_hard_neon-vfpv4;@mcpu=cortex-a7@mfloat-abi=hard@mfpu=neon-vfpv4
                

                I am stuck with this error now

                libxxxx.a(yyyyy.o) uses VFP register arguments, libQt5WebEngineCore.so.5.9.1 does not
                
                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on 2 Nov 2017, 22:16 last edited by
                  #9

                  Then you should create your own mkspecs that sets the correct flags for your processor.

                  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 4 Nov 2017, 05:07
                  0
                  • SGaistS SGaist
                    2 Nov 2017, 22:16

                    Then you should create your own mkspecs that sets the correct flags for your processor.

                    K Offline
                    K Offline
                    Kart
                    wrote on 4 Nov 2017, 05:07 last edited by Kart 11 Apr 2017, 05:15
                    #10

                    @SGaist I am using my own qmake.conf.

                    #
                    # qmake configuration for building with arm400-linux-g++
                    #
                    
                    MAKEFILE_GENERATOR      = UNIX
                    CONFIG                 += incremental
                    QMAKE_INCREMENTAL_STYLE = sublib
                    
                    
                    include(../common/linux.conf)
                    include(../common/gcc-base-unix.conf)
                    include(../common/g++-unix.conf)
                    
                    # modifications to g++.conf
                    QMAKE_INCDIR +=/opt/arm400-linux/target/usr/include 
                    QMAKE_LIBDIR +=/opt/arm400-linux/target/usr/lib
                    QMAKE_CC                = arm400-linux-gcc 
                    QMAKE_CXX               = arm400-linux-g++
                    QMAKE_LINK              = arm400-linux-g++ -L/opt/arm400-linux/target/usr/lib -Wl,-rpath -Wl,/opt/arm400-linux/target/usr/lib
                    QMAKE_LINK_SHLIB        = arm400-linux-g++ -L/opt/arm400-linux/target/usr/lib -Wl,-rpath -Wl,/opt/arm400-linux/target/usr/lib
                    
                    QMAKE_CFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9
                    QMAKE_CXXFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9
                    
                    # modifications to linux.conf
                    QMAKE_AR                = arm400-linux-ar cqs
                    QMAKE_OBJCOPY           = arm400-linux-objcopy
                    QMAKE_STRIP             = arm400-linux-strip
                    
                    load(qt_config)
                    

                    I tried

                    QMAKE_CFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=soft
                    QMAKE_CXXFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=soft
                    

                    But it came out something like "arm400-linux-g++: error: -mfloat-abi=soft and -mfloat-abi=hard may not be used together".

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on 4 Nov 2017, 21:03 last edited by
                      #11

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

                      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, 10:45
                      0
                      • SGaistS 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
                        • SGaistS Offline
                          SGaistS 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
                          • SGaistS 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
                            • SGaistS Offline
                              SGaistS 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
                              • SGaistS 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
                                  • SGaistS Offline
                                    SGaistS 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
                                    • SGaistS 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