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. [Partially Solved] [Compiling Qt 5.4] MingW Intrinsic / conflicting declaration of '__m64 _m_pswapd(__m64)' with 'C' linkage

[Partially Solved] [Compiling Qt 5.4] MingW Intrinsic / conflicting declaration of '__m64 _m_pswapd(__m64)' with 'C' linkage

Scheduled Pinned Locked Moved Installation and Deployment
15 Posts 2 Posters 4.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • MeerMusikM Offline
    MeerMusikM Offline
    MeerMusik
    wrote on last edited by
    #1

    EDIT: Changed Thread Title as it seems to be a Compiler related Bug. Will do a Full Bug Report in Jira later today.

    If anyone has found a Solution for that 4 years old Bug, please let me know. Thanks :)

    Hello Forum.

    I have a strange Problem since the 5.4 Alpha [I have not tested the Beta or RC]:

    Whenever I try to compile Qt 5.4, it fails after 5 Minutes with the above Error.
    And before someone is asking: Compiling Qt Source prior to 5.4 (incl. 5.3.2) with all Examples and Tests, is working fine without any kind of Error (well, besides the usual "bad escape sequence" Stuff in some Files - but this is existent since 5.0 (the first Version I started to use).

    My System:

    • Windows 7 x64 SP1
    • CPU: AMD Phenom II 965 BE
    • RAM: 16GB
    • Source HDD: 50+ GB Space Free
    • Target HDD: 85+ GB Free

    The Following Tools were fresh installed just yesterday (clean removed with Revo Uninstaller plus a dozen of restarts and all those things):

    • Ruby Version: 2.1.5p273 [i386-MingW32] - Path correctly set

    • ActivePerl Version: 5.20.1.2000 x86 (32-bit) - Path correctly set

    • ActivePython Version: 3.4.2 x86 (32-bit) - Path correctly set

    • ICU: 54.1 Final

    • GitSCM: 1.9.4 - sh.exe renamed before i started the compiling and also removed git from the Path Settings

    • OpenSSL Libraries: Version 1.0.1j

    • OpenSSL Binaries for Win32 + Win64: 1.0.1j - removed the OPENSSLx64_Conf Setting from the Path as it gave Errors when compiling Qt with the Win32 OpenSSL Library.

    • DirectX SDK June 2010 - Path is correctly set

    • Microsoft Windows 8.1 SDK (only the SDK Main Files plus the Debugging Tools)

    The Bison, GPerf, Flex etc. Tools are used from the Qt Source Folder and are within the System and the User Environment Path correctly set.

    Qt Version I want to build:

    • Qt 5.4.0 x86 directly from the Source Archive (Zip File)

    Used Compiler:

    • MingW32 4.9.2-Release-Posix-Dwarf-rt_V3_Rev0
      [Yes I tried older Compiler Versions but it also has the same Result: 5.4 fails, older Qt Versions compile fine.]

    My Configure Line looks as follows:
    c:\qt-everywhere-opensource-src-5.4.0\configure -opensource -confirm-license -prefix d:\qt-build -skip webengine -opengl dynamic -debug-and-release -developer-build -icu -I C:\icu\dist\include -L C:\icu\dist\lib -openssl -I C:\OpenSSL-Win32\include -L c:\OpenSSL-Win32\lib\MinGW -platform win32-g++

    But even when I dont use "-opengl dynamic", it still fails and give the same Error.

    More Details about the Error:
    @
    In file included from C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\3rdparty\angle\src/common/platform.h:51:0,
    from C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\3rdparty\angle\src/common/angleutils.h:12,
    from C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\3rdparty\angle\src/common/debug.h:15,
    from C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\3rdparty\angle\src/common/mathutil.h:12,
    from C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\3rdparty\angle\src\common\blocklayout.cpp:11:
    C:/mingw32/i686-w64-mingw32/include/intrin.h:791:5: error: conflicting declaration of '__m64 _m_pswapd(__m64)' with 'C' linkage
    __MACHINEX86X_NOWIN64(__m64 _m_pswapd(__m64))
    ^
    In file included from C:/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/include/x86intrin.h:48:0,
    from C:/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/bits/opt_random.h:33,
    from C:/mingw32/i686-w64-mingw32/include/c++/random:50,
    from C:/mingw32/i686-w64-mingw32/include/c++/bits/stl_algo.h:66,
    from C:/mingw32/i686-w64-mingw32/include/c++/algorithm:62,
    from C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\3rdparty\angle\include/GLSLANG/ShaderVars.h:15,
    from C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\3rdparty\angle\include/GLSLANG/ShaderLang.h:47,
    from C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\3rdparty\angle\src/common/blocklayout.h:17,
    from C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\3rdparty\angle\src\common\blocklayout.cpp:10:
    C:/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/include/mm3dnow.h:206:1: note: previous declaration with 'C++' linkage
    _m_pswapd (__m64 __A)
    ^
    Makefile.Debug:1045: recipe for target '.obj/debug/blocklayout.o' failed
    mingw32-make[6]: *** [.obj/debug/blocklayout.o] Error 1
    mingw32-make[6]: Leaving directory 'D:/xxqts/qtbase/src/angle/src/libGLESv2'
    Makefile:38: recipe for target 'debug-all' failed
    mingw32-make[5]: *** [debug-all] Error 2
    mingw32-make[5]: Leaving directory 'D:/xxqts/qtbase/src/angle/src/libGLESv2'
    Makefile:83: recipe for target 'sub-libGLESv2-make_first-ordered' failed
    mingw32-make[4]: *** [sub-libGLESv2-make_first-ordered] Error 2
    mingw32-make[4]: Leaving directory 'D:/xxqts/qtbase/src/angle/src'
    Makefile:38: recipe for target 'sub-src-make_first' failed
    mingw32-make[3]: *** [sub-src-make_first] Error 2
    mingw32-make[3]: Leaving directory 'D:/xxqts/qtbase/src/angle'
    Makefile:361: recipe for target 'sub-angle-make_first' failed
    mingw32-make[2]: *** [sub-angle-make_first] Error 2
    mingw32-make[2]: Leaving directory 'D:/xxqts/qtbase/src'
    Makefile:41: recipe for target 'sub-src-make_first' failed
    mingw32-make[1]: *** [sub-src-make_first] Error 2
    mingw32-make[1]: Leaving directory 'D:/xxqts/qtbase'
    makefile:64: recipe for target 'module-qtbase-make_first' failed
    mingw32-make: *** [module-qtbase-make_first] Error 2
    @

    Did I miss to install some Tools / Libraries for Angle or OpenGL? I see no additional Requirements for Qt 5.4.

    I really appreciate every single Tip you very nice People have for me :)

    Thanks in advance
    Oliver

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      Since 5.4 is officially out, you should try again with that one. Anyway, it looks like there's a problem between ANGLE and MinGW

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

      1 Reply Last reply
      0
      • MeerMusikM Offline
        MeerMusikM Offline
        MeerMusik
        wrote on last edited by
        #3

        [quote author="SGaist" date="1418242558"]Hi,

        Since 5.4 is officially out, you should try again with that one. Anyway, it looks like there's a problem between ANGLE and MinGW[/quote]

        Well it IS the 5.4.0 Final Release (Master) that I try to build ;) But thanks

        I looked through the Internet and found a few hints, that it is a Bug within the Compiler itself. A Bug that has been patched years ago in the MingW 4.8.x Branch and is now coming back in the 4.9.x Branch. But no one knows why only Qt 5.4.0 can not be built. All other Qt Versions get compiled fine.

        Strange. Only Solution seems to switch to a MSVC Compiler or stick with
        Qt 5.3.2.

        Has anyone else found some kind of Workaround yet?

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          That I don't know, but you can try the "bug report system":http://bugreports.qt-project.org to see if it's something known

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

          1 Reply Last reply
          0
          • MeerMusikM Offline
            MeerMusikM Offline
            MeerMusik
            wrote on last edited by
            #5

            [quote author="SGaist" date="1418243537"]That I don't know, but you can try the "bug report system":http://bugreports.qt-project.org to see if it's something known[/quote]

            Will do a Bug Report later today. For now I have changed the Thread Title: It seems this Bug can not be solved from Digia's Side.

            Thanks for trying to help anyway.
            Oliver

            1 Reply Last reply
            0
            • MeerMusikM Offline
              MeerMusikM Offline
              MeerMusik
              wrote on last edited by
              #6

              Evening.

              The Bug Report in JIRA got closed as invalid as it turns out, I could not even compile it MSVC in the first run. Later it worked - too late. BR is closed now.

              Anyway:
              In addition, I filed a Bug Report yesterday at the MinGW64 SourceForge Project Site.

              I could not find an answer yet, why that dumb Bug has made it back to the 4.9.x Branch of MinGW64 - and why I am still able to compile 5.3.2 (did a test compile just yesterday again with all Examples and Tests without any Problem; 5.4.0 still fails. Even when I try to Build it from Git.).

              Some change in the Qt Framework must have made the Bug Fix in the Compiler invalid.

              Oliver

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #7

                What's the link to the report ?

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

                1 Reply Last reply
                0
                • MeerMusikM Offline
                  MeerMusikM Offline
                  MeerMusik
                  wrote on last edited by
                  #8

                  Evening:

                  The Bug Report (its more like a quick Copy+Paste of this Thread) is here:
                  https://bugreports.qt-project.org/browse/QTBUG-43268

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #9

                    Do you have all these versions of MinGW installed on your computer at the same time ?

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

                    1 Reply Last reply
                    0
                    • MeerMusikM Offline
                      MeerMusikM Offline
                      MeerMusik
                      wrote on last edited by
                      #10

                      Nope. Of course not. I unzip the different Compiler Versions when I want to test them, to C:\MinGW32\

                      After that, I restart my PC (normally not necessary but Murphy strikes out of the blue) and do the usual compile tests.

                      1 Reply Last reply
                      0
                      • MeerMusikM Offline
                        MeerMusikM Offline
                        MeerMusik
                        wrote on last edited by
                        #11

                        Morning Forum.

                        I finally found some time to test a few things out. Besides from the Compiler Bug:

                        If I disable Angle AND OpenGL completely, 5.4.0 got build. Very strange.
                        [BTW: If I disable both: Will my own Executables run? I dont think so or is there any kind of Alternative?]

                        Does Qt 5.4.0 need specific / newer DirectX Files than 5.3.2? Or does anyone know an Alternative to try out? Must I install the DirectX SDK and the Windows 7 and and Windows 8 SDK in a specific order? Like I said, I am out of Ideas.

                        I re-installed the Windows 7 OS, DirectX SDK (June 2010), Windows 7.1 SDK and the Windows 8.1 SDK fresh (in that particular Order). Windows Update says "No Updates Available".

                        5.3.2 (and older Versions) still compiles fine.

                        Thanks!

                        1 Reply Last reply
                        0
                        • MeerMusikM Offline
                          MeerMusikM Offline
                          MeerMusik
                          wrote on last edited by
                          #12

                          Time for another check:

                          Compilation of the 64-bit Version of Libglesv2*.dll (and therefore Qt 5.4.0 64-bit as a whole) works.

                          32-bit keeps failing.

                          1 Reply Last reply
                          0
                          • MeerMusikM Offline
                            MeerMusikM Offline
                            MeerMusik
                            wrote on last edited by
                            #13

                            Morning everybody.

                            After a few replies in the BugReport from Kai Köhne, I was able to build Qt 5.4.0 x86 with the '-opengl desktop' Switch:
                            @
                            -opensource -confirm-license -prefix d:\qt-build -skip webengine -opengl desktop -debug-and-release -icu -I C:\icu32bit\include -L C:\icu32bit\lib -openssl -I C:\OpenSSL-Win32\include -L c:\OpenSSL-Win32\lib\MinGW -platform win32-g++ -nomake tests
                            @

                            I also was finally able to build a 64-Bit Variant with '-opengl dynamic' with the following Switches:
                            @
                            -opensource -confirm-license -prefix d:\qt-build-64bit -skip webengine -opengl dynamic -debug-and-release -icu -I C:\icu64bit\include -L C:\icu64bit\lib -openssl -I C:\OpenSSL-64bit\include -L c:\OpenSSL-64bit\lib -platform win32-g++ -nomake tests
                            @

                            One Problem remains:
                            I can not do a '-Developer-Build' or even a normal Build with Tests. QMutex and QVariant will always give hundreds of '__machine__x86_declaration' errors. Which results in 'corelib cannot be build'. This is valid for MinGW x86 and MinGW x64.

                            When 5.4.1 is out, I will see if can disable QMutex and QVariant.

                            Both Compiler Versions (x86 Posix-DWARF and x64 Posix-SEH) are updated to 4.9.2-RtV3-Rev1.

                            In the end, it is a Problem with the Compiler and the double / triple call of 'Intrinsic.h' from the compiler Directory.

                            As this kind of Bug exists for a few years now, it seems that it will never be changed / fixed.

                            Only Solution / Work-Around for me is to switch to x64 completely in the long run. The main Userbase is still running a x86 OS. But this is another Long-Term-Wannabe-Problem.

                            Have a good one :)
                            Oliver

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #14

                              Usually you don't build the tests even when doing a developer build it eats time and space for no real benefits unless you plan to run them all. If you need to run one or more of them just build them on a as needed basis

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

                              1 Reply Last reply
                              0
                              • MeerMusikM Offline
                                MeerMusikM Offline
                                MeerMusik
                                wrote on last edited by
                                #15

                                [quote author="SGaist" date="1422491056"]Usually you don't build the tests even when doing a developer build it eats time and space for no real benefits unless you plan to run them all. If you need to run one or more of them just build them on a as needed basis[/quote]

                                Yeah I know and I wish it would work this way. But for some strange reason, the Switch 'developer-build' keeps ignoring '-nomake tests'.

                                I will look into customising some Makefiles when 5.4.1 is out.

                                1 Reply Last reply
                                0

                                • Login

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