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. Failed to build Qt 5.11.0 from source on CentOS 7 but no problem with Qt 5.10.1
QtWS25 Last Chance

Failed to build Qt 5.11.0 from source on CentOS 7 but no problem with Qt 5.10.1

Scheduled Pinned Locked Moved Solved Installation and Deployment
18 Posts 6 Posters 6.0k 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.
  • F Offline
    F Offline
    Foghorn
    wrote on last edited by
    #1

    I built & installed 32- and 64-bit Qt 5.10.1 from the source on Windows 10 with VS2017 without any problem. I also built & installed 32- and 64-bit Qt 5.10.1 on CentOS 7 without any problem.

    Now, I tried to do the same with the Qt 5.11.0 source. There is no problem on Windows for both bitnesses. But on CentOS 7 I am unable to build because of C++ compiler errors. Did someone try to build Qt 5.11.0 on CentOS 7?

    I can post the exact errors I get on CentOS 7 on request if need be. Just let me know.

    aha_1980A 1 Reply Last reply
    0
    • F Foghorn

      I built & installed 32- and 64-bit Qt 5.10.1 from the source on Windows 10 with VS2017 without any problem. I also built & installed 32- and 64-bit Qt 5.10.1 on CentOS 7 without any problem.

      Now, I tried to do the same with the Qt 5.11.0 source. There is no problem on Windows for both bitnesses. But on CentOS 7 I am unable to build because of C++ compiler errors. Did someone try to build Qt 5.11.0 on CentOS 7?

      I can post the exact errors I get on CentOS 7 on request if need be. Just let me know.

      aha_1980A Offline
      aha_1980A Offline
      aha_1980
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi @Foghorn,

      just a shot in the dark: is your compiler recent enough? CentOS tend to ship very stable but also very old packages.

      It may be Qt is just needing anything not available from your compiler.

      Regards

      Qt has to stay free or it will die.

      1 Reply Last reply
      0
      • F Offline
        F Offline
        Foghorn
        wrote on last edited by Foghorn
        #3

        I doubt that because the GCC version 4.8 is a requirement for Linux. The latest CentOS which is CentOS 7 is fully updated and has GCC 4.8.5 installed which satisfies the platform requirement according to the Qt documentation. I did not notice any difference in Linux requirements between Qt 5.10.1 and 5.11.0.

        The whole point I use CentOS is because it is very conservative and keeps everything as version-wise low as possible.

        aha_1980A 1 Reply Last reply
        0
        • F Foghorn

          I doubt that because the GCC version 4.8 is a requirement for Linux. The latest CentOS which is CentOS 7 is fully updated and has GCC 4.8.5 installed which satisfies the platform requirement according to the Qt documentation. I did not notice any difference in Linux requirements between Qt 5.10.1 and 5.11.0.

          The whole point I use CentOS is because it is very conservative and keeps everything as version-wise low as possible.

          aha_1980A Offline
          aha_1980A Offline
          aha_1980
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @Foghorn

          Yeah, acording to https://doc.qt.io/qt-5/supported-platforms-and-configurations.html gcc 4.8 is supported. So it must be something else.

          Qt has to stay free or it will die.

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

            Hi,

            What exact error are you getting ?

            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
            • F Offline
              F Offline
              Foghorn
              wrote on last edited by
              #6

              Let me re-run the 32-bit build...

              1 Reply Last reply
              0
              • F Offline
                F Offline
                Foghorn
                wrote on last edited by Foghorn
                #7

                Just started. Just like in the case of Qt 5.10.1, here is the configuration I specified:

                mkdir b32
                cd b32
                ../configure -platform linux-g++-32 -plugin-sql-sqlite -qt-xcb -qt-libpng -qt-libjpeg -shared -prefix /w1/ossi/Qt/Qt5.11.0-x86 -nomake examples -nomake tests

                After the above a success, the next command was as follows:

                make -j2 2>&1 | tee -a b32.log

                Apparently the error occurs in the qtlocation module. I am showing the very first error that occurred. If you need more of the log, I can provide. Here is the first error:

                g++ -c -include .pch/Qt5Location -m32 -pipe -mfpmath=sse -O3 -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_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_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/w2/nick/qt/qtlocation/src/location -I. -I/w2/nick/qt/qtlocation/src/3rdparty/earcut -I/w2/nick/qt/qtlocation/src/3rdparty/poly2tri -I/w2/nick/qt/qtlocation/src/3rdparty/clipper -I/w2/nick/qt/qtlocation/src/3rdparty/clip2tri -I/w2/nick/qt/qtlocation/src/positioning -I/w2/nick/qt/qtlocation/src/imports/positioning -I/w2/nick/qt/qtlocation/src/location -I/w2/nick/qt/qtlocation/src/location/maps -I/w2/nick/qt/qtlocation/src/location/places -I/w2/nick/qt/qtlocation/src/location/declarativemaps -I/w2/nick/qt/qtlocation/src/location/declarativeplaces -I/w2/nick/qt/qtlocation/src/location/labs -I/w2/nick/qt/qtlocation/include -I/w2/nick/qt/qtlocation/include/QtLocation -I../../include -I../../include/QtLocation -I/w2/nick/qt/qtlocation/include/QtLocation/5.11.0 -I/w2/nick/qt/qtlocation/include/QtLocation/5.11.0/QtLocation -I../../include/QtLocation/5.11.0 -I../../include/QtLocation/5.11.0/QtLocation -I/w2/nick/qt/qtlocation/include/QtPositioning/5.11.0 -I/w2/nick/qt/qtlocation/include/QtPositioning/5.11.0/QtPositioning -I../../include/QtPositioning/5.11.0 -I../../include/QtPositioning/5.11.0/QtPositioning -I/w2/nick/qt/qtdeclarative/include/QtQuick/5.11.0 -I/w2/nick/qt/qtdeclarative/include/QtQuick/5.11.0/QtQuick -I/w2/nick/qt/b32/qtdeclarative/include/QtQuick/5.11.0 -I/w2/nick/qt/b32/qtdeclarative/include/QtQuick/5.11.0/QtQuick -I/w2/nick/qt/qtbase/include/QtGui/5.11.0 -I/w2/nick/qt/qtbase/include/QtGui/5.11.0/QtGui -I/w2/nick/qt/b32/qtbase/include/QtGui/5.11.0 -I/w2/nick/qt/b32/qtbase/include/QtGui/5.11.0/QtGui -I/w2/nick/qt/qtdeclarative/include/QtQml/5.11.0 -I/w2/nick/qt/qtdeclarative/include/QtQml/5.11.0/QtQml -I/w2/nick/qt/b32/qtdeclarative/include/QtQml/5.11.0 -I/w2/nick/qt/b32/qtdeclarative/include/QtQml/5.11.0/QtQml -I/w2/nick/qt/qtbase/include/QtCore/5.11.0 -I/w2/nick/qt/qtbase/include/QtCore/5.11.0/QtCore -I/w2/nick/qt/b32/qtbase/include/QtCore/5.11.0 -I/w2/nick/qt/b32/qtbase/include/QtCore/5.11.0/QtCore -I/w2/nick/qt/qtlocation/include/QtPositioning -I../../include/QtPositioning -I/w2/nick/qt/qtdeclarative/include -I/w2/nick/qt/qtdeclarative/include/QtQuick -I/w2/nick/qt/b32/qtdeclarative/include -I/w2/nick/qt/b32/qtdeclarative/include/QtQuick -I/w2/nick/qt/qtbase/include -I/w2/nick/qt/qtbase/include/QtGui -I/w2/nick/qt/b32/qtbase/include -I/w2/nick/qt/b32/qtbase/include/QtGui -I/w2/nick/qt/qtdeclarative/include/QtQml -I/w2/nick/qt/b32/qtdeclarative/include/QtQml -I/w2/nick/qt/qtbase/include/QtNetwork -I/w2/nick/qt/b32/qtbase/include/QtNetwork -I/w2/nick/qt/qtbase/include/QtCore -I/w2/nick/qt/b32/qtbase/include/QtCore -I.moc -isystem /usr/include/libdrm -I/w2/nick/qt/qtbase/mkspecs/linux-g++-32 -o .obj/qdeclarativegeomap.o /w2/nick/qt/qtlocation/src/location/declarativemaps/qdeclarativegeomap.cpp
                In file included from /w2/nick/qt/qtlocation/include/QtLocation/5.11.0/QtLocation/private/qgeomap_p.h:1:0,
                from /w2/nick/qt/qtlocation/src/location/declarativemaps/qdeclarativegeomap_p.h:63,
                from /w2/nick/qt/qtlocation/src/location/declarativemaps/qdeclarativegeomap.cpp:37:
                /w2/nick/qt/qtlocation/include/QtLocation/5.11.0/QtLocation/private/../../../../../src/location/maps/qgeomap_p.h:174:18: warning: ‘QGeoMapPrivate’ is already a friend of ‘QGeoMap’ [enabled by default]
                friend class QGeoMapPrivate;
                ^
                /w2/nick/qt/qtlocation/src/location/declarativemaps/qdeclarativegeomap.cpp: In member function ‘void QDeclarativeGeoMap::mappingManagerInitialized()’:
                /w2/nick/qt/qtlocation/src/location/declarativemaps/qdeclarativegeomap.cpp:699:91: error: no matching function for call to ‘QDeclarativeGeoMap::connect(QPointer<QGeoMap>&, void (QGeoMap::*)(const QString&), QDeclarativeGeoMap::mappingManagerInitialized()::__lambda9)’

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

                  Where did you get the sources from ?

                  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
                  • F Offline
                    F Offline
                    Foghorn
                    wrote on last edited by Foghorn
                    #9

                    As in the case of 5.10.1, I got the source for Linux here:

                    http://download.qt.io/archive/qt/5.11/5.11.0/single/

                    For Windows I used the zip file and for Linux I used the .tar.xz file.

                    1 Reply Last reply
                    0
                    • B Offline
                      B Offline
                      Bitzkit
                      wrote on last edited by
                      #10

                      I can't help you but have exactly the same issue with SuSE 42.3.

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

                        What version of GCC are you using ?

                        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
                        • F Offline
                          F Offline
                          Foghorn
                          wrote on last edited by Foghorn
                          #12

                          Above I indicated that CentOS 7 comes with GCC 4.8.5. Here is a more detailed information:

                          gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
                          Copyright (C) 2015 Free Software Foundation, Inc.
                          This is free software; see the source for copying conditions. There is NO
                          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

                          Using built-in specs.
                          COLLECT_GCC=gcc
                          COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
                          Target: x86_64-redhat-linux
                          Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
                          Thread model: posix
                          gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)

                          1 Reply Last reply
                          0
                          • F Offline
                            F Offline
                            Foghorn
                            wrote on last edited by
                            #13

                            UPDATE: Just tried the newly released Qt 5.11.1 and got exactly the same problem as above, unfortunately. Will stick with version 5.10.1 which had no problems building on Windows both x86 & x64, Linux x86 & x64 as well as on Mac x64.

                            jsulmJ 1 Reply Last reply
                            0
                            • F Foghorn

                              UPDATE: Just tried the newly released Qt 5.11.1 and got exactly the same problem as above, unfortunately. Will stick with version 5.10.1 which had no problems building on Windows both x86 & x64, Linux x86 & x64 as well as on Mac x64.

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by
                              #14

                              @Foghorn On this page http://doc.qt.io/qt-5/supported-platforms.html is stated that on RHEL7 (CentOS7) you need GCC 5.3.1, even on RHEL6 you need GCC 4.9.1. So, looks like your configuration is not supported by latest Qt release.

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

                              1 Reply Last reply
                              2
                              • F Offline
                                F Offline
                                Foghorn
                                wrote on last edited by Foghorn
                                #15

                                So you are saying that it is NOT possible to build on the latest CentOS? That seems strange, doesn't it?

                                Why do you assume that CentOS 7 is the same as RED HAT Enterprise 7.2. The page you refer to was not changed since 5.10x and , as I state above, there is NO problem building 5.10.1. How do you explain that? Where is documentation that would tell you that 5.11x changed so drastically compared to 5.10x that it no longer can be built with GCC 4.8?

                                jsulmJ 1 Reply Last reply
                                0
                                • F Foghorn

                                  So you are saying that it is NOT possible to build on the latest CentOS? That seems strange, doesn't it?

                                  Why do you assume that CentOS 7 is the same as RED HAT Enterprise 7.2. The page you refer to was not changed since 5.10x and , as I state above, there is NO problem building 5.10.1. How do you explain that? Where is documentation that would tell you that 5.11x changed so drastically compared to 5.10x that it no longer can be built with GCC 4.8?

                                  jsulmJ Offline
                                  jsulmJ Offline
                                  jsulm
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #16

                                  @Foghorn I simply pointed you to the page which explains what are the requirements for building Qt on Linux. I did not said it is not possible to build Qt, but you should probably use a newer compiler.
                                  According to this: https://lists.centos.org/pipermail/centos-announce/2017-September/022532.html, CentOS7 is based on RHEL7.4
                                  You asked for an explanation: well, I don't develop Qt itself (you should ask this question on the Qt developers mailing list), but I assume that Qt 5.11 has other compiler requirements than Qt 5.10.
                                  "Where is documentation that would tell you that 5.11x changed so drastically compared to 5.10x that it no longer can be built with GCC 4.8" - take a look at the link I posted. If information posted there is wrong you can ask for a correction.
                                  And please calm down a bit, I spend my own time to answer questions here...

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

                                  1 Reply Last reply
                                  2
                                  • F Offline
                                    F Offline
                                    Foghorn
                                    wrote on last edited by Foghorn
                                    #17

                                    UPDATE: For those who might be interested in how the 5.11.1 build runs on Centos 7 here is my experience so far. Yes, 'devtoolsedt-4' is needed to be installed and enabled. But unfortunately 'devtoolset-4 is a 64-bit toolset. As a result, I managed to build the 64-bit QT SDK 5.11.1 fine, but failed to build the 32-bit QT SDK due to missing libstdc++_nonshared.a. I spent a lot of time trying to find the i686 version of devtoolset-4 and libstdc++_nonshared.a on the internet. I found it here:

                                    https://copr-be.cloud.fedoraproject.org/results/mlampe/devtoolset-4.1/epel-6-i386/00335098-devtoolset-4-gcc/

                                    I installed the package devtoolset-4-libstdc++-devel-5.3.1-6.1.el6.i686.rpm and managed to build qmake and started the build but ended up in the middle of the 32-bit build with the following error:

                                    /opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld.gold: internal error in override_version, at resolve.cc:61
                                    collect2: error: ld returned 1 exit status
                                    make[3]: *** [../../lib/libQt5Qml.so.5.11.1] Error 1
                                    make[3]: Leaving directory /w2/nick/qt/b32/qtdeclarative/src/qml' make[2]: *** [sub-qml-make_first-ordered] Error 2 make[2]: Leaving directory /w2/nick/qt/b32/qtdeclarative/src'
                                    make[1]: *** [sub-src-make_first] Error 2
                                    make[1]: Leaving directory `/w2/nick/qt/b32/qtdeclarative'
                                    make: *** [module-qtdeclarative-make_first] Error 2
                                    /w2/nick/qt/b32>

                                    At this point I am about to run out of options. Will be abandoning 5.11.1 and sticking with 5.10.1 which has no problem on Windows, Mac and CentOS 7 whatsoever and does NOT require GCC 5.3.1.

                                    1 Reply Last reply
                                    0
                                    • P Offline
                                      P Offline
                                      pumpkin4444
                                      wrote on last edited by
                                      #18

                                      I've reported the same in https://bugreports.qt.io/browse/QTBUG-69512 and it contains a patch. It's a compiler bug fixed in GCC 5 apparently.

                                      1 Reply Last reply
                                      2

                                      • Login

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