Qt5.12.3 make fails with errors from assembler



  • I got this error when I was manually trying to install Qt5.12. I was initially trying to install Qtcreator 4.9.1 only but online installer didn't work and when I tried to install, I came to know of Qt package as one of dependency and while installing it I got this error. Let me know what more information is required to make any comment.

    % g++ --version
    g++ (GCC) 8.3.0
    % cat /etc/redhat-release
    CentOS release 6.10 (Final)

    g++ -c -pipe -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DENABLE_PIXMAN_DRAWHELPERS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_GUI_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -march=core-avx2 -I. -I../../include -I../../include/QtGui -I../../include/QtGui/5.12.3 -I../../include/QtGui/5.12.3/QtGui -I.tracegen -isystem /usr/include/libdrm -I../../include/QtCore/5.12.3 -I../../include/QtCore/5.12.3/QtCore -I../../include/QtCore -I.moc -isystem /usr/include/libpng12 -I../3rdparty/harfbuzz-ng/include -I../../mkspecs/linux-g++ painting/qdrawhelper_avx2.cpp -o .obj/qdrawhelper_avx2.o
    {standard input}: Assembler messages:
    {standard input}:54: Error: no such instruction: vpbroadcastw %xmm3,%ymm3' {standard input}:155: Error: suffix or operands invalid forvpsrlw'
    {standard input}:156: Error: suffix or operands invalid for vpand' {standard input}:157: Error: suffix or operands invalid forvpmullw'
    {standard input}:158: Error: suffix or operands invalid for vpmullw' {standard input}:159: Error: suffix or operands invalid forvpsrlw'
    {standard input}:160: Error: suffix or operands invalid for vpsrlw' {standard input}:161: Error: suffix or operands invalid forvpaddw'
    {standard input}:162: Error: suffix or operands invalid for vpaddw' {standard input}:163: Error: suffix or operands invalid forvpaddw'
    {standard input}:164: Error: suffix or operands invalid for vpand' {standard input}:165: Error: suffix or operands invalid forvpaddw'
    {standard input}:166: Error: suffix or operands invalid for vpsrlw' {standard input}:167: Error: suffix or operands invalid forvpandn'
    {standard input}:168: Error: suffix or operands invalid for vpor' {standard input}:170: Error: suffix or operands invalid forvpshufb'

    I notice

    -march=core-avx2
    

    in compile command which looks suspicious to me. Does anyone know where is it coming from and how it can be fixed ?


  • Moderators

    @gusain said in Qt5.12.3 make fails with errors from assembler:

    I was initially trying to install Qtcreator 4.9.1 only but online installer didn't work and when I tried to install, I came to know of Qt package as one of dependency and while installing it I got this error

    CentOS 6.x is not supported by Qt anymore (https://doc.qt.io/qt-5/supported-platforms.html).

    -march=core-avx2

    That's added by CPU capabilities detection code. You can manually tweak it by passing these flags to configure:

    -sse2 ................ Use SSE2 instructions [auto]
      -sse3/-ssse3/-sse4.1/-sse4.2/-avx/-avx2/-avx512
                             Enable use of particular x86 instructions [auto]
                             Enabled ones are still subject to runtime detection.
      -mips_dsp/-mips_dspr2  Use MIPS DSP/rev2 instructions [auto]
    

    If you want to disable a particular set of instructions, use -no-flag like this:

    configure -no-avx2
    

    If you need more help, try on Qt interest mailing list, there are people there who actually wrote that CPU instruction set support stuff, so they should be able to provide better assistance.



  • @sierdzio Thanks, it worked and I could compile it fine.


Log in to reply