Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Solved Qt5.15.2 configure for arm Debian 10

    Mobile and Embedded
    2
    4
    900
    Loading More Posts
    • 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.
    • michaelL
      michaelL last edited by

      Hi,

      i am trying to configure Qt for my STM32MP1 board running debian 10.
      Here is what i did:

      Made new device file in /qtbase/mkspecs/devices/stm32mp/qmake.conf and add this:

      include(../common/linux_device_pre.conf)
      include(../common/linux_device_post.conf)
      
      # modifications to g++.conf
      QMAKE_CC                = /opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
      QMAKE_CXX               = /opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
      QMAKE_LINK              = /opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
      QMAKE_LINK_SHLIB        = /opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
      
      # modifications to linux.conf
      QMAKE_AR                = /opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar cqs
      QMAKE_OBJCOPY           = /opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-objcopy
      QMAKE_NM                = /opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-nm -P
      QMAKE_STRIP             = /opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-strip
      
      #load(device_config)
      
      QT_QPA_DEFAULT_PLATFORM = eglfs
      
      QMAKE_CFLAGS           += $${COMPILER_FLAGS}
      QMAKE_CXXFLAGS         += $${COMPILER_FLAGS}
      QMAKE_CXXFLAGS_RELEASE += -O3
      
      INCLUDEPATH += /home/debian/opt/gcc-arm-8.3-2019.03-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/
      
      QMAKE_LIBS             += -lrt -lpthread -ldl
      
      # Extra stuff (OpenGL, DirectFB, ...)
      QMAKE_INCDIR_EGL        = /home/debian/work/ROOTFS_STM_QT/usr/include
      QMAKE_LIBDIR_EGL        = /home/debian/work/ROOTFS_STM_QT/usr/lib/arm-linux-gnueabihf
      QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
      QMAKE_LIBDIR_OPENGL_ES2 = $${QMAKE_LIBDIR_EGL}
      QMAKE_INCDIR_OPENVG     = $${QMAKE_INCDIR_EGL}
      QMAKE_LIBDIR_OPENVG     = $${QMAKE_LIBDIR_EGL}
      
      #QMAKE_LIBS_EGL          = -lEGL -lIMGegl -lsrv_um
      QMAKE_LIBS_EGL          = -lEGL
      QMAKE_LIBS_OPENGL_ES2   = -lGLESv2 $${QMAKE_LIBS_EGL}
      QMAKE_LIBS_OPENVG       = -lOpenVG $${QMAKE_LIBS_EGL}
      
      DISTRO_OPTS += hard-float
      
      # No need for any special EGL device integration.
      # Prioritize the default, compiled-in integration over any plugins.
      EGLFS_DEVICE_INTEGRATION = none
      
      load(qt_config)
      

      Than i did this:

      ./configure -v -opengl es2 -device stm32mp -device-option CROSS_COMPILE=~/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /home/debian/work/ROOTFS_STM_QT -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -make tools -prefix /usr/local/qt5stm32mp -hostprefix /usr/local/qt5stm32mp
      

      And i got this as output:

      Configure summary:
      
      Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
      Building for: devices/stm32mp1 (x86_64, CPU features: mmx sse sse2)
      Target compiler: gcc 8.3.0
      Configuration: cross_compile sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples enable_new_dtags f16c largefile precompile_header rdrnd rdseed shani x86SimdAlways shared shared rpath release c++11 c++14 c++17 c++1z concurrent dbus no-pkg-config reduce_exports reduce_relocations release_tools stl
      Build options:
        Mode ................................... release; optimized tools
        Optimize release build for size ........ no
        Building shared libraries .............. yes
        Using C standard ....................... C11
        Using C++ standard ..................... C++17
        Using ccache ........................... no
        Using new DTAGS ........................ yes
        Relocatable ............................ yes
        Using precompiled headers .............. yes
        Using LTCG ............................. no
        Target compiler supports:
          SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
          AVX .................................. AVX AVX2
          AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI
          Other x86 ............................ AES F16C RDRAND SHA
          Intrinsics without -mXXX option ...... yes
        Build parts ............................ libs tools
      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 ....................... no
        udev ................................... no
        Using system zlib ...................... no
        Zstandard support ...................... yes
      Qt Core:
        DoubleConversion ....................... yes
          Using system DoubleConversion ........ no
        GLib ................................... no
        iconv .................................. yes
        ICU .................................... no
        Built-in copy of the MIME database ..... yes
        Tracing backend ........................ <none>
        Logging backends:
          journald ............................. no
          syslog ............................... no
          slog2 ................................ no
        PCRE2 .................................. yes
          Using system PCRE2 ................... no
      Qt Network:
        getifaddrs() ........................... yes
        IPv6 ifname ............................ yes
        libproxy ............................... no
        Linux AF_NETLINK ....................... yes
        OpenSSL ................................ no
          Qt directly linked to OpenSSL ........ no
        OpenSSL 1.1 ............................ no
        DTLS ................................... no
        OCSP-stapling .......................... no
        SCTP ................................... no
        Use system proxies ..................... yes
        GSSAPI ................................. yes
      Qt Gui:
        Accessibility .......................... yes
        FreeType ............................... yes
          Using system FreeType ................ no
        HarfBuzz ............................... yes
          Using system HarfBuzz ................ no
        Fontconfig ............................. no
        Image formats:
          GIF .................................. yes
          ICO .................................. yes
          JPEG ................................. yes
            Using system libjpeg ............... no
          PNG .................................. yes
            Using system libpng ................ no
        Text formats:
          HtmlParser ........................... yes
          CssParser ............................ yes
          OdfWriter ............................ yes
          MarkdownReader ....................... yes
            Using system libmd4c ............... no
          MarkdownWriter ....................... yes
        EGL .................................... yes
        OpenVG ................................. no
        OpenGL:
          Desktop OpenGL ....................... no
          OpenGL ES 2.0 ........................ yes
          OpenGL ES 3.0 ........................ yes
          OpenGL ES 3.1 ........................ yes
          OpenGL ES 3.2 ........................ yes
        Vulkan ................................. no
        Session Management ..................... yes
      Features used by QPA backends:
        evdev .................................. yes
        libinput ............................... no
        INTEGRITY HID .......................... no
        mtdev .................................. no
        tslib .................................. no
        xkbcommon .............................. no
        X11 specific:
          XLib ................................. yes
          XCB Xlib ............................. yes
          EGL on X11 ........................... yes
          xkbcommon-x11 ........................ no
      QPA backends:
        DirectFB ............................... no
        EGLFS .................................. yes
        EGLFS details:
          EGLFS OpenWFD ........................ no
          EGLFS i.Mx6 .......................... yes
          EGLFS i.Mx6 Wayland .................. no
          EGLFS RCAR ........................... no
          EGLFS EGLDevice ...................... yes
          EGLFS GBM ............................ no
          EGLFS VSP2 ........................... no
          EGLFS Mali ........................... yes
          EGLFS Raspberry Pi ................... no
          EGLFS X11 ............................ yes
        LinuxFB ................................ yes
        VNC .................................... yes
      Qt Sql:
        SQL item models ........................ yes
      Qt Widgets:
        GTK+ ................................... no
        Styles ................................. Fusion Windows
      Qt PrintSupport:
        CUPS ................................... no
      Qt Sql Drivers:
        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) ........................... yes
      Qt Testlib:
        Tester for item models ................. yes
      Serial Port:
        ntddmodm ............................... yes
      Qt SerialBus:
        Socket CAN ............................. yes
        Socket CAN FD .......................... yes
        SerialPort Support ..................... yes
      Further Image Formats:
        JasPer ................................. no
        MNG .................................... no
        TIFF ................................... yes
          Using system libtiff ................. no
        WEBP ................................... yes
          Using system libwebp ................. no
      Qt QML:
        QML network support .................... yes
        QML debugging and profiling support .... yes
        QML just-in-time compiler .............. yes
        QML sequence object .................... yes
        QML XML http request ................... yes
        QML Locale ............................. yes
      Qt QML Models:
        QML list model ......................... yes
        QML delegate model ..................... yes
      Qt Quick:
        Direct3D 12 ............................ yes
        AnimatedImage item ..................... yes
        Canvas item ............................ yes
        Support for Qt Quick Designer .......... yes
        Flipable item .......................... yes
        GridView item .......................... yes
        ListView item .......................... yes
        TableView item ......................... yes
        Path support ........................... yes
        PathView item .......................... yes
        Positioner items ....................... yes
        Repeater item .......................... yes
        ShaderEffect item ...................... yes
        Sprite item ............................ yes
      QtQuick3D:
        Assimp ................................. yes
        System Assimp .......................... yes
      Qt Scxml:
        ECMAScript data model for QtScxml ...... yes
      Qt Gamepad:
        SDL2 ................................... yes
      Qt 3D:
        Assimp ................................. yes
        System Assimp .......................... yes
        Output Qt3D GL traces .................. no
        Use SSE2 instructions .................. yes
        Use AVX2 instructions .................. no
        Aspects:
          Render aspect ........................ yes
          Input aspect ......................... yes
          Logic aspect ......................... yes
          Animation aspect ..................... yes
          Extras aspect ........................ yes
      Qt 3D Renderers:
        OpenGL Renderer ........................ yes
        RHI Renderer ........................... no
      Qt 3D GeometryLoaders:
        Autodesk FBX ........................... yes
      Qt Wayland Client ........................ no
      Qt Wayland Compositor .................... no
      Qt Bluetooth:
        BlueZ .................................. yes
        BlueZ Low Energy ....................... yes
        Linux Crypto API ....................... yes
        Native Win32 Bluetooth ................. no
        WinRT Bluetooth API (desktop & UWP) .... no
        WinRT advanced bluetooth low energy API (desktop & UWP) . no
      Qt Sensors:
        sensorfw ............................... no
      Qt Quick Controls 2:
        Styles ................................. Default Fusion Imagine Material Universal
      Qt Quick Templates 2:
        Hover support .......................... yes
        Multi-touch support .................... yes
      Qt Positioning:
        Gypsy GPS Daemon ....................... no
        WinRT Geolocation API .................. yes
      Qt Location:
        Qt.labs.location experimental QML plugin . yes
        Geoservice plugins:
          OpenStreetMap ........................ yes
          HERE ................................. yes
          Esri ................................. yes
          Mapbox ............................... yes
          MapboxGL ............................. yes
          Itemsoverlay ......................... yes
      QtXmlPatterns:
        XML schema support ..................... yes
      Qt Multimedia:
        ALSA ................................... yes
        GStreamer 1.0 .......................... no
        GStreamer 0.10 ......................... no
        Video for Linux ........................ yes
        OpenAL ................................. yes
        PulseAudio ............................. no
        Resource Policy (libresourceqt5) ....... no
        Windows Audio Services ................. no
        DirectShow ............................. no
        Windows Media Foundation ............... no
      Qt TextToSpeech:
        Flite .................................. yes
        Flite with ALSA ........................ yes
        Speech Dispatcher ...................... yes
      Qt Tools:
        Qt Assistant ........................... yes
        Qt Designer ............................ yes
        Qt Distance Field Generator ............ yes
        kmap2qmap .............................. yes
        Qt Linguist ............................ yes
        Mac Deployment Tool .................... no
        makeqpf ................................ yes
        pixeltool .............................. yes
        qdbus .................................. yes
        qev .................................... yes
        Qt Attributions Scanner ................ yes
        qtdiag ................................. yes
        qtpaths ................................ yes
        qtplugininfo ........................... yes
        Windows deployment tool ................ no
        WinRT Runner Tool ...................... no
      Qt Tools:
        QDoc ................................... no
      Qt WebEngine Build Tools:
        Use System Ninja ....................... no
        Use System Gn .......................... no
        Jumbo Build Merge Limit ................ 8
        Developer build ........................ no
        Sanitizer .............................. no
        QtWebEngine required system libraries:
          fontconfig ........................... no
          dbus ................................. no
          nss .................................. no
          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 ................................. no
          zlib ................................. no
          minizip .............................. no
          libevent ............................. no
          jsoncpp .............................. no
          protobuf ............................. no
          libxml2 and libxslt .................. no
          lcms2 ................................ no
          png .................................. no
          JPEG ................................. no
          harfbuzz ............................. no
          freetype ............................. no
      
      Note: Also available for Linux: linux-clang linux-icc
      
      Note: -optimized-tools is not useful in -release mode.
      
      Note: The following modules are not being compiled in this configuration:
          webenginecore
          webengine
          webenginewidgets
          pdf
          pdfwidgets
      
      WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.
      
      Either ensure that llvm-config is in your PATH environment variable, or set LLVM_INSTALL_DIR to the location of your llvm installation.
      On Linux systems, you may be able to install libclang by installing the libclang-dev or libclang-devel package, depending on your distribution.
      On macOS, you can use Homebrew's llvm package.
      On Windows, you must set LLVM_INSTALL_DIR to the installation path.
      
      WARNING: A pkg-config support is required to build QtWebEngine.
      
      WARNING: A pkg-config support is required to build QtPdf.
      
      WARNING: QtWebEngine will not be built.
      
      WARNING: QtPdf will not be built.
      
      Qt is now configured for building. Just run 'make'.
      Once everything is built, you must run 'make install'.
      Qt will be installed into '/home/debian/work/ROOTFS_STM_QT/usr/local/qt5stm32mp'.
      
      

      So i did

      make
      

      And got this:

      cd qtbase/ && ( test -e Makefile || /home/debian/work/qt-everywhere-src-5.15.2/qtbase/bin/qmake -o Makefile /home/debian/work/qt-everywhere-src-5.15.2/qtbase/qtbase.pro ) && make -f Makefile 
      make[1]: Entering directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase'
      cd src/ && ( test -e Makefile || /home/debian/work/qt-everywhere-src-5.15.2/qtbase/bin/qmake -o Makefile /home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/src.pro ) && make -f Makefile 
      make[2]: Entering directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src'
      cd corelib/ && ( test -e Makefile.qtzlib || /home/debian/work/qt-everywhere-src-5.15.2/qtbase/bin/qmake -o Makefile.qtzlib /home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/corelib/qtzlib.pro ) && make -f Makefile.qtzlib 
      make[3]: Entering directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/corelib'
      make[3]: Nothing to be done for 'first'.
      make[3]: Leaving directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/corelib'
      cd tools/bootstrap/ && ( test -e Makefile || /home/debian/work/qt-everywhere-src-5.15.2/qtbase/bin/qmake -o Makefile /home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/bootstrap/bootstrap.pro ) && make -f Makefile 
      make[3]: Entering directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/bootstrap'
      make[3]: Nothing to be done for 'first'.
      make[3]: Leaving directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/bootstrap'
      cd tools/moc/ && ( test -e Makefile || /home/debian/work/qt-everywhere-src-5.15.2/qtbase/bin/qmake -o Makefile /home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/moc/moc.pro ) && make -f Makefile 
      make[3]: Entering directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/moc'
      make[3]: Nothing to be done for 'first'.
      make[3]: Leaving directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/moc'
      cd tools/rcc/ && ( test -e Makefile || /home/debian/work/qt-everywhere-src-5.15.2/qtbase/bin/qmake -o Makefile /home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/rcc/rcc.pro ) && make -f Makefile 
      make[3]: Entering directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/rcc'
      make[3]: Nothing to be done for 'first'.
      make[3]: Leaving directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/rcc'
      cd tools/tracegen/ && ( test -e Makefile || /home/debian/work/qt-everywhere-src-5.15.2/qtbase/bin/qmake -o Makefile /home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/tracegen/tracegen.pro ) && make -f Makefile 
      make[3]: Entering directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/tracegen'
      make[3]: Nothing to be done for 'first'.
      make[3]: Leaving directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/tools/tracegen'
      cd 3rdparty/pcre2/ && ( test -e Makefile || /home/debian/work/qt-everywhere-src-5.15.2/qtbase/bin/qmake -o Makefile /home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/3rdparty/pcre2/pcre2.pro ) && make -f Makefile 
      make[3]: Entering directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/3rdparty/pcre2'
      /opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -c -pipe --sysroot=/home/debian/work/ROOTFS_STM_QT -mshstk -O2 -fPIC -std=gnu11 -fvisibility=hidden -w -fno-exceptions -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DPCRE2_CODE_UNIT_WIDTH=16 -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DHAVE_CONFIG_H -DQT_NO_DYNAMIC_CAST -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I. -I/home/debian/opt/gcc-arm-8.3-2019.03-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/ -Isrc -I../../../mkspecs/devices/stm32mp1 -o .obj/pcre2_auto_possess.o src/pcre2_auto_possess.c
      arm-linux-gnueabihf-gcc: error: unrecognized command line option ‘-mshstk’
      make[3]: *** [Makefile:1361: .obj/pcre2_auto_possess.o] Error 1
      make[3]: Leaving directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src/3rdparty/pcre2'
      make[2]: *** [Makefile:201: sub-3rdparty-pcre2-make_first] Error 2
      make[2]: Leaving directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase/src'
      make[1]: *** [Makefile:51: sub-src-make_first] Error 2
      make[1]: Leaving directory '/home/debian/work/qt-everywhere-src-5.15.2/qtbase'
      make: *** [Makefile:88: module-qtbase-make_first] Error 2
      

      So the error that i am facing is that my gcc-arm compiler doesnt have this command line:

      arm-linux-gnueabihf-gcc: error: unrecognized command line option ‘-mshstk’
      

      Any idea?

      1 Reply Last reply Reply Quote 0
      • michaelL
        michaelL last edited by

        So i manage to make a workaround.
        I just set the variable to empty in the file:

        qtbase/mkspecs/common/gcc-base.conf
        
        #QMAKE_CFLAGS_SHSTK          = -mshstk
        QMAKE_CFLAGS_SHSTK          =
        
        
        1 Reply Last reply Reply Quote 0
        • G
          guruhb last edited by

          @michaelL said in Qt5.15.2 configure for arm Debian 10:

          arm-linux-gnueabihf-gcc

          I am not an expert on Cross compiling , But most likely you should use "arm-linux-gnueabihf-gcc" which supports (or has flag ) "-mshstk" . I did a quick check on my machine with "man man arm-linux-gnueabihf-gcc" and found out it has "-mshstk"

          arm-linux-gnueabihf-gcc --version
          arm-linux-gnueabihf-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
          
          man arm-linux-gnueabihf-gcc  : 
           x86 Options -mtune=cpu-type  -march=cpu-type -mtune-ctrl=feature-list  -mdump-tune-features  -mno-default -mfpmath=unit -masm=dialect  -mno-fancy-math-387
                     -mno-fp-ret-in-387  -m80387  -mhard-float  -msoft-float -mno-wide-multiply  -mrtd  -malign-double -mpreferred-stack-boundary=num -mincoming-stack-boundary=num -mcld
                     -mcx16  -msahf  -mmovbe  -mcrc32 -mrecip  -mrecip=opt -mvzeroupper  -mprefer-avx128  -mprefer-vector-width=opt -mmmx  -msse  -msse2  -msse3  -mssse3  -msse4.1
                     -msse4.2  -msse4  -mavx -mavx2  -mavx512f  -mavx512pf  -mavx512er  -mavx512cd  -mavx512vl -mavx512bw  -mavx512dq  -mavx512ifma  -mavx512vbmi  -msha  -maes -mpclmul
                     -mfsgsbase  -mrdrnd  -mf16c  -mfma  -mpconfig  -mwbnoinvd -mptwrite  -mprefetchwt1  -mclflushopt  -mclwb  -mxsavec  -mxsaves -msse4a  -m3dnow  -m3dnowa  -mpopcnt
                     -mabm  -mbmi  -mtbm  -mfma4  -mxop -madx  -mlzcnt  -mbmi2  -mfxsr  -mxsave  -mxsaveopt  -mrtm  -mhle  -mlwp -mmwaitx  -mclzero  -mpku  -mthreads  -mgfni  -mvaes
                     -mwaitpkg -mshstk 
          
          
          1 Reply Last reply Reply Quote 1
          • michaelL
            michaelL last edited by

            @guruhb said in Qt5.15.2 configure for arm Debian 10:

            mshstk

            Hi Guruhb,

            thank you for your answer. I think the option "-mshstk" is only used in 0x86 architectures.

            I downloaded the arm-gnueabihf-gcc version 10.2 which i think it is the latest and there is no option "-mshstk" as well:

            Here is my compiler version:

            
            debian@debian10:~/work$ gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc -v
            Using built-in specs.
            COLLECT_GCC=gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc
            COLLECT_LTO_WRAPPER=/home/debian/work/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/bin/../libexec/gcc/arm-none-linux-gnueabihf/10.2.1/lto-wrapper
            Target: arm-none-linux-gnueabihf
            Configured with: /tmp/dgboter/bbs/build03--cen7x86_64/buildbot/cen7x86_64--arm-none-linux-gnueabihf/build/src/gcc/configure --target=arm-none-linux-gnueabihf --prefix= --with-sysroot=/arm-none-linux-gnueabihf/libc --with-build-sysroot=/tmp/dgboter/bbs/build03--cen7x86_64/buildbot/cen7x86_64--arm-none-linux-gnueabihf/build/build-arm-none-linux-gnueabihf/install//arm-none-linux-gnueabihf/libc --with-bugurl=https://bugs.linaro.org/ --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/tmp/dgboter/bbs/build03--cen7x86_64/buildbot/cen7x86_64--arm-none-linux-gnueabihf/build/build-arm-none-linux-gnueabihf/host-tools --with-mpfr=/tmp/dgboter/bbs/build03--cen7x86_64/buildbot/cen7x86_64--arm-none-linux-gnueabihf/build/build-arm-none-linux-gnueabihf/host-tools --with-mpc=/tmp/dgboter/bbs/build03--cen7x86_64/buildbot/cen7x86_64--arm-none-linux-gnueabihf/build/build-arm-none-linux-gnueabihf/host-tools --with-isl=/tmp/dgboter/bbs/build03--cen7x86_64/buildbot/cen7x86_64--arm-none-linux-gnueabihf/build/build-arm-none-linux-gnueabihf/host-tools --with-arch=armv7-a --with-fpu=neon --with-float=hard --with-mode=thumb --with-arch=armv7-a --with-pkgversion='GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)'
            Thread model: posix
            Supported LTO compression algorithms: zlib
            gcc version 10.2.1 20201103 (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 
            
            

            Here is the no option "-mshstk"

            debian@debian10:~/work$ gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc -Q --help=target
            The following options are target specific:
              -mabi=                      		aapcs-linux
              -mabort-on-noreturn         		[disabled]
              -mandroid                   		[disabled]
              -mapcs                      		[disabled]
              -mapcs-frame                		[disabled]
              -mapcs-reentrant            		[disabled]
              -mapcs-stack-check          		[disabled]
              -march=                     		armv7-a+simd
              -marm                       		[disabled]
              -masm-syntax-unified        		[disabled]
              -mbe32                      		[enabled]
              -mbe8                       		[disabled]
              -mbig-endian                		[disabled]
              -mbionic                    		[disabled]
              -mbranch-cost=              		-1
              -mcallee-super-interworking 		[disabled]
              -mcaller-super-interworking 		[disabled]
              -mcmse                      		[disabled]
              -mcpu=                      		
              -mfdpic                     		[disabled]
              -mfix-cortex-m3-ldrd        		[enabled]
              -mflip-thumb                		[disabled]
              -mfloat-abi=                		hard
              -mfp16-format=              		none
              -mfpu=                      		neon
              -mgeneral-regs-only         		[disabled]
              -mglibc                     		[enabled]
              -mhard-float                		-mfloat-abi=hard
              -mlittle-endian             		[enabled]
              -mlong-calls                		[disabled]
              -mmusl                      		[disabled]
              -mneon-for-64bits           		[disabled]
              -mpic-data-is-text-relative 		[enabled]
              -mpic-register=             		
              -mpoke-function-name        		[disabled]
              -mprint-tune-info           		[disabled]
              -mpure-code                 		[disabled]
              -mrestrict-it               		[enabled]
              -msched-prolog              		[enabled]
              -msingle-pic-base           		[disabled]
              -mslow-flash-data           		[disabled]
              -msoft-float                		-mfloat-abi=soft
              -mstructure-size-boundary=  		32
              -mthumb                     		[enabled]
              -mthumb-interwork           		[enabled]
              -mtls-dialect=              		gnu
              -mtp=                       		auto
              -mtpcs-frame                		[disabled]
              -mtpcs-leaf-frame           		[disabled]
              -mtune=                     		
              -muclibc                    		[disabled]
              -munaligned-access          		[enabled]
              -mvectorize-with-neon-double 		[disabled]
              -mvectorize-with-neon-quad  		[enabled]
              -mword-relocations          		[disabled]
            
            

            If i run my 0x86 gcc i can see the option "-mshstk" disabled:

            debian@debian10:~/work$ gcc -Q --help=target
            The following options are target specific:
              -m128bit-long-double        		[enabled]
              -m16                        		[disabled]
              -m32                        		[disabled]
              -m3dnow                     		[disabled]
              -m3dnowa                    		[disabled]
              -m64                        		[enabled]
              -m80387                     		[enabled]
              -m8bit-idiv                 		[disabled]
              -m96bit-long-double         		[disabled]
              -mabi=                      		sysv
              -mabm                       		[disabled]
              -maccumulate-outgoing-args  		[disabled]
              -maddress-mode=             		long
              -madx                       		[disabled]
              -maes                       		[disabled]
              -malign-data=               		compat
              -malign-double              		[disabled]
              -malign-functions=          		0
              -malign-jumps=              		0
              -malign-loops=              		0
              -malign-stringops           		[enabled]
              -mandroid                   		[disabled]
              -march=                     		x86-64
              -masm=                      		att
              -mavx                       		[disabled]
              -mavx2                      		[disabled]
              -mavx256-split-unaligned-load 	[enabled]
              -mavx256-split-unaligned-store 	[enabled]
              -mavx5124fmaps              		[disabled]
              -mavx5124vnniw              		[disabled]
              -mavx512bitalg              		[disabled]
              -mavx512bw                  		[disabled]
              -mavx512cd                  		[disabled]
              -mavx512dq                  		[disabled]
              -mavx512er                  		[disabled]
              -mavx512f                   		[disabled]
              -mavx512ifma                		[disabled]
              -mavx512pf                  		[disabled]
              -mavx512vbmi                		[disabled]
              -mavx512vbmi2               		[disabled]
              -mavx512vl                  		[disabled]
              -mavx512vnni                		[disabled]
              -mavx512vpopcntdq           		[disabled]
              -mbionic                    		[disabled]
              -mbmi                       		[disabled]
              -mbmi2                      		[disabled]
              -mbranch-cost=<0,5>         		3
              -mcall-ms2sysv-xlogues      		[disabled]
              -mcet-switch                		[disabled]
              -mcld                       		[disabled]
              -mclflushopt                		[disabled]
              -mclwb                      		[disabled]
              -mclzero                    		[disabled]
              -mcmodel=                   		[default]
              -mcpu=                      		
              -mcrc32                     		[disabled]
              -mcx16                      		[disabled]
              -mdispatch-scheduler        		[disabled]
              -mdump-tune-features        		[disabled]
              -mf16c                      		[disabled]
              -mfancy-math-387            		[enabled]
              -mfentry                    		[disabled]
              -mfma                       		[disabled]
              -mfma4                      		[disabled]
              -mforce-drap                		[disabled]
              -mforce-indirect-call       		[disabled]
              -mfp-ret-in-387             		[enabled]
              -mfpmath=                   		sse
              -mfsgsbase                  		[disabled]
              -mfunction-return=          		keep
              -mfused-madd                		
              -mfxsr                      		[enabled]
              -mgeneral-regs-only         		[disabled]
              -mgfni                      		[disabled]
              -mglibc                     		[enabled]
              -mhard-float                		[enabled]
              -mhle                       		[disabled]
              -miamcu                     		[disabled]
              -mieee-fp                   		[enabled]
              -mincoming-stack-boundary=  		0
              -mindirect-branch-register  		[disabled]
              -mindirect-branch=          		keep
              -minline-all-stringops      		[disabled]
              -minline-stringops-dynamically 	[disabled]
              -mintel-syntax              		
              -mlarge-data-threshold=<number> 	65536
              -mlong-double-128           		[disabled]
              -mlong-double-64            		[disabled]
              -mlong-double-80            		[enabled]
              -mlwp                       		[disabled]
              -mlzcnt                     		[disabled]
              -mmemcpy-strategy=          		
              -mmemset-strategy=          		
              -mmitigate-rop              		[disabled]
              -mmmx                       		[enabled]
              -mmovbe                     		[disabled]
              -mmovdir64b                 		[disabled]
              -mmovdiri                   		[disabled]
              -mmpx                       		[disabled]
              -mms-bitfields              		[disabled]
              -mmusl                      		[disabled]
              -mmwaitx                    		[disabled]
              -mno-align-stringops        		[disabled]
              -mno-default                		[disabled]
              -mno-fancy-math-387         		[disabled]
              -mno-push-args              		[disabled]
              -mno-red-zone               		[disabled]
              -mno-sse4                   		[enabled]
              -mnop-mcount                		[disabled]
              -momit-leaf-frame-pointer   		[disabled]
              -mpc32                      		[disabled]
              -mpc64                      		[disabled]
              -mpc80                      		[disabled]
              -mpclmul                    		[disabled]
              -mpcommit                   		[disabled]
              -mpconfig                   		[disabled]
              -mpku                       		[disabled]
              -mpopcnt                    		[disabled]
              -mprefer-avx128             		
              -mprefer-vector-width=      		none
              -mpreferred-stack-boundary= 		0
              -mprefetchwt1               		[disabled]
              -mprfchw                    		[disabled]
              -mpush-args                 		[enabled]
              -mrdpid                     		[disabled]
              -mrdrnd                     		[disabled]
              -mrdseed                    		[disabled]
              -mrecip                     		[disabled]
              -mrecip=                    		
              -mrecord-mcount             		[disabled]
              -mred-zone                  		[enabled]
              -mregparm=                  		6
              -mrtd                       		[disabled]
              -mrtm                       		[disabled]
              -msahf                      		[disabled]
              -msgx                       		[disabled]
              -msha                       		[disabled]
              -mshstk                     		[disabled]
              -mskip-rax-setup            		[disabled]
              -msoft-float                		[disabled]
              -msse                       		[enabled]
              -msse2                      		[enabled]
              -msse2avx                   		[disabled]
              -msse3                      		[disabled]
              -msse4                      		[disabled]
              -msse4.1                    		[disabled]
              -msse4.2                    		[disabled]
              -msse4a                     		[disabled]
              -msse5                      		
              -msseregparm                		[disabled]
              -mssse3                     		[disabled]
              -mstack-arg-probe           		[disabled]
              -mstack-protector-guard-offset= 	
              -mstack-protector-guard-reg= 		
              -mstack-protector-guard-symbol= 	
              -mstack-protector-guard=    		tls
              -mstackrealign              		[disabled]
              -mstringop-strategy=        		[default]
              -mstv                       		[enabled]
              -mtbm                       		[disabled]
              -mtls-dialect=              		gnu
              -mtls-direct-seg-refs       		[enabled]
              -mtune-ctrl=                		
              -mtune=                     		generic
              -muclibc                    		[disabled]
              -mvaes                      		[disabled]
              -mveclibabi=                		[default]
              -mvect8-ret-in-mem          		[disabled]
              -mvpclmulqdq                		[disabled]
              -mvzeroupper                		[enabled]
              -mwbnoinvd                  		[disabled]
              -mx32                       		[disabled]
              -mxop                       		[disabled]
              -mxsave                     		[disabled]
              -mxsavec                    		[disabled]
              -mxsaveopt                  		[disabled]
              -mxsaves                    		[disabled]
            
            

            So there is no option "-mshstk" for arm gcc than right? Is there anything missing maybe wrong settings on my device "qmake.conf" file?

            1 Reply Last reply Reply Quote 0
            • michaelL
              michaelL last edited by

              So i manage to make a workaround.
              I just set the variable to empty in the file:

              qtbase/mkspecs/common/gcc-base.conf
              
              #QMAKE_CFLAGS_SHSTK          = -mshstk
              QMAKE_CFLAGS_SHSTK          =
              
              
              1 Reply Last reply Reply Quote 0
              • First post
                Last post