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. Qt 5.9.0 build in 32-bit Linux fails
Forum Updated to NodeBB v4.3 + New Features

Qt 5.9.0 build in 32-bit Linux fails

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
7 Posts 2 Posters 2.8k Views 2 Watching
  • 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.
  • tendimT Offline
    tendimT Offline
    tendim
    wrote on last edited by tendim
    #1

    (reposted from the general forum, sorry!)

    Hi.

    I am attempting to compile 5.9.0 from source on Debian 8, 32-bit. After a few hours of compiling, everything grinds to a halt. Here is the log of error messages (as much as could be saved from my terminal line buffer). The errors seem pretty repetitive and seem to stem from forward declaration of QVector3D.

    My config:

    ./configure -prefix /opt/Qt5.9.0 -qt-xcb -no-opengl
    

    The tail end of my error output:

     
    ../../../include/QtCore/../../src/corelib/kernel/qmetatype.h:1882:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_GUI_CLASS’
     QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
     ^
    In file included from ../../../include/QtCore/qvector.h:1:0,
                     from ../../../include/QtGui/../../src/gui/painting/qpolygon.h:44,
                     from ../../../include/QtGui/qpolygon.h:1,
                     from ../../../include/QtGui/../../src/gui/painting/qmatrix.h:44,
                     from ../../../include/QtGui/qmatrix.h:1,
                     from ../../../include/QtGui/../../src/gui/painting/qtransform.h:43,
                     from ../../../include/QtGui/qtransform.h:1,
                     from ../../../include/QtGui/../../src/gui/image/qimage.h:48,
                     from ../../../include/QtGui/qimage.h:1,
                     from ../../../include/QtGui/../../src/gui/image/qpixmap.h:49,
                     from ../../../include/QtGui/qpixmap.h:1,
                     from ../../../include/QtGui/../../src/gui/image/qicon.h:46,
                     from ../../../include/QtGui/qicon.h:1,
                     from ../../../include/QtGui/../../src/gui/kernel/qwindow.h:55,
                     from ../../../include/QtGui/qwindow.h:1,
                     from ../../../include/QtGui/QWindow:1,
                     from hellowindow.h:51,
                     from hellowindow.cpp:51:
    ../../../include/QtCore/../../src/corelib/tools/qvector.h:591:37: error: invalid use of incomplete type ‘class QVector3D’
                     destruct(x->begin() + asize, x->end()); // from future end to current end
                                         ^
    In file included from ../../../include/QtCore/qmetatype.h:1:0,
                     from ../../../include/QtCore/../../src/corelib/kernel/qobject.h:54,
                     from ../../../include/QtCore/qobject.h:1,
                     from ../../../include/QtCore/QObject:1,
                     from ../../../include/QtGui/../../src/gui/kernel/qwindow.h:44,
                     from ../../../include/QtGui/qwindow.h:1,
                     from ../../../include/QtGui/QWindow:1,
                     from hellowindow.h:51,
                     from hellowindow.cpp:51:
    ../../../include/QtCore/../../src/corelib/kernel/qmetatype.h:152:22: error: forward declaration of ‘class QVector3D’
         F(QVector3D, 83, QVector3D) \
                          ^
    ../../../include/QtCore/../../src/corelib/kernel/qmetatype.h:1879:11: note: in definition of macro ‘QT_FORWARD_DECLARE_STATIC_TYPES_ITER’
         class Name;
               ^
    ../../../include/QtCore/../../src/corelib/kernel/qmetatype.h:1882:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_GUI_CLASS’
     QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
     ^
    In file included from ../../../include/QtCore/qvector.h:1:0,
                     from ../../../include/QtGui/../../src/gui/painting/qpolygon.h:44,
                     from ../../../include/QtGui/qpolygon.h:1,
                     from ../../../include/QtGui/../../src/gui/painting/qmatrix.h:44,
                     from ../../../include/QtGui/qmatrix.h:1,
                     from ../../../include/QtGui/../../src/gui/painting/qtransform.h:43,
                     from ../../../include/QtGui/qtransform.h:1,
                     from ../../../include/QtGui/../../src/gui/image/qimage.h:48,
                     from ../../../include/QtGui/qimage.h:1,
                     from ../../../include/QtGui/../../src/gui/image/qpixmap.h:49,
                     from ../../../include/QtGui/qpixmap.h:1,
                     from ../../../include/QtGui/../../src/gui/image/qicon.h:46,
                     from ../../../include/QtGui/qicon.h:1,
                     from ../../../include/QtGui/../../src/gui/kernel/qwindow.h:55,
                     from ../../../include/QtGui/qwindow.h:1,
                     from ../../../include/QtGui/QWindow:1,
                     from hellowindow.h:51,
                     from hellowindow.cpp:51:
    ../../../include/QtCore/../../src/corelib/tools/qvector.h:593:55: error: invalid use of incomplete type ‘class QVector3D’
                     defaultConstruct(x->end(), x->begin() + asize); // from current end to future end
                                                           ^
    In file included from ../../../include/QtCore/qmetatype.h:1:0,
                     from ../../../include/QtCore/../../src/corelib/kernel/qobject.h:54,
                     from ../../../include/QtCore/qobject.h:1,
                     from ../../../include/QtCore/QObject:1,
                     from ../../../include/QtGui/../../src/gui/kernel/qwindow.h:44,
                     from ../../../include/QtGui/qwindow.h:1,
                     from ../../../include/QtGui/QWindow:1,
                     from hellowindow.h:51,
                     from hellowindow.cpp:51:
    ../../../include/QtCore/../../src/corelib/kernel/qmetatype.h:152:22: error: forward declaration of ‘class QVector3D’
         F(QVector3D, 83, QVector3D) \
                          ^
    ../../../include/QtCore/../../src/corelib/kernel/qmetatype.h:1879:11: note: in definition of macro ‘QT_FORWARD_DECLARE_STATIC_TYPES_ITER’
         class Name;
               ^
    ../../../include/QtCore/../../src/corelib/kernel/qmetatype.h:1882:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_GUI_CLASS’
     QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
     ^
    In file included from ../../../include/QtCore/qarraydata.h:1:0,
                     from ../../../include/QtCore/../../src/corelib/tools/qbytearray.h:46,
                     from ../../../include/QtCore/qbytearray.h:1,
                     from ../../../include/QtCore/../../src/corelib/tools/qstring.h:49,
                     from ../../../include/QtCore/qstring.h:1,
                     from ../../../include/QtCore/../../src/corelib/kernel/qobject.h:47,
                     from ../../../include/QtCore/qobject.h:1,
                     from ../../../include/QtCore/QObject:1,
                     from ../../../include/QtGui/../../src/gui/kernel/qwindow.h:44,
                     from ../../../include/QtGui/qwindow.h:1,
                     from ../../../include/QtGui/QWindow:1,
                     from hellowindow.h:51,
                     from hellowindow.cpp:51:
    ../../../include/QtCore/../../src/corelib/tools/qarraydata.h: In instantiation of ‘static QTypedArrayData<T>* QTypedArrayData<T>::allocate(size_t, QArrayData::AllocationOptions) [with T = QVector3D; size_t = unsigned int; QArrayData::AllocationOptions = QFlags<QArrayData::AllocationOption>]’:
    ../../../include/QtCore/../../src/corelib/tools/qvector.h:544:51:   required from ‘void QVector<T>::reallocData(int, int, QArrayData::AllocationOptions) [with T = QVector3D; QArrayData::AllocationOptions = QFlags<QArrayData::AllocationOption>]’
    ../../../include/QtCore/../../src/corelib/tools/qvector.h:423:37:   required from ‘void QVector<T>::resize(int) [with T = QVector3D]’
    ../../../include/QtCore/../../src/corelib/tools/qvector.h:427:11:   required from ‘void QVector<T>::clear() [with T = QVector3D]’
    hellowindow.cpp:256:20:   required from here
    ../../../include/QtCore/../../src/corelib/tools/qarraydata.h:222:74: error: invalid application of ‘sizeof’ to incomplete type ‘QVector3D’
             return static_cast<QTypedArrayData *>(QArrayData::allocate(sizeof(T),
                                                                              ^
    ../../../include/QtCore/../../src/corelib/tools/qarraydata.h: In static member function ‘static QTypedArrayData<T>* QTypedArrayData<T>::allocate(size_t, QArrayData::AllocationOptions) [with T = QVector3D; size_t = unsigned int; QArrayData::AllocationOptions = QFlags<QArrayData::AllocationOption>]’:
    ../../../include/QtCore/../../src/corelib/tools/qarraydata.h:224:5: warning: control reaches end of non-void function [-Wreturn-type]
         }
         ^
    Makefile:1025: recipe for target '.obj/hellowindow.o' failed
    make[4]: *** [.obj/hellowindow.o] Error 1
    make[4]: Leaving directory '/home/tendim/dev/Qt5.9.0/qt-everywhere-opensource-src-5.9.0/qtbase/examples/opengl/hellowindow'
    Makefile:56: recipe for target 'sub-hellowindow-make_first' failed
    make[3]: *** [sub-hellowindow-make_first] Error 2
    make[3]: Leaving directory '/home/tendim/dev/Qt5.9.0/qt-everywhere-opensource-src-5.9.0/qtbase/examples/opengl'
    Makefile:357: recipe for target 'sub-opengl-make_first' failed
    make[2]: *** [sub-opengl-make_first] Error 2
    make[2]: Leaving directory '/home/tendim/dev/Qt5.9.0/qt-everywhere-opensource-src-5.9.0/qtbase/examples'
    Makefile:74: recipe for target 'sub-examples-make_first' failed
    make[1]: *** [sub-examples-make_first] Error 2
    make[1]: Leaving directory '/home/tendim/dev/Qt5.9.0/qt-everywhere-opensource-src-5.9.0/qtbase'
    Makefile:83: recipe for target 'module-qtbase-make_first' failed
    make: *** [module-qtbase-make_first] Error 2
    tendim@LuTze:~/dev/Qt5.9.0/qt-everywhere-opensource-src-5.9.0$ 
    
    
    
    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      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

      tendimT 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi,

        What version of gcc are you using ?

        tendimT Offline
        tendimT Offline
        tendim
        wrote on last edited by
        #3

        @SGaist 4.9.2 (Debian 4.9.2-10) to be exact).

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

          Are you running a 32bit Debian or compiling on a multilib 64bit Debian ?

          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
          • tendimT Offline
            tendimT Offline
            tendim
            wrote on last edited by
            #5

            32-bit.

            arch reports i686; uname -a reports "3.16.0-4-686-pae #1 SMP Debian 3.16.43-2 (2017-04-30) i686 GNU/Linux"

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

              I just realised something, while building Qt yourself you should add -nomake tests -nomake examples, that will avoid building them for no real benefit and in your case continue further.

              By the way, why disable OpenGL ?

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

              tendimT 1 Reply Last reply
              0
              • SGaistS SGaist

                I just realised something, while building Qt yourself you should add -nomake tests -nomake examples, that will avoid building them for no real benefit and in your case continue further.

                By the way, why disable OpenGL ?

                tendimT Offline
                tendimT Offline
                tendim
                wrote on last edited by
                #7

                Thanks @SGaist. I'd have to go back and look at my notes as to why I disabled OpenGL; it was something to do with a library not working during the configuration step. I will try recompiling without tests and examples to see how far I get.

                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