On 1 September 2017 at 18:37, Christian Gagneraud <chg...@gmail.com> wrote: > Hi there, > > Back on my 32 bits build of Qt > > I'm having a build failure on tst_qatomicinteger for qlonglong. > > Static failure: Q_STATIC_ASSERT(Q_ALIGNOF(QAtomicInteger<T>) == > Q_ALIGNOF(TypeInStruct)); > > Sounds very much like a 32/64 bits issue.
Actually i have more test build failure: 2 about qlonglong and qulonglong, and a bunch of other that look like this (simple) one: g++ -m32 -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -Wl,-rpath,/home/krys/Projects/qt5/qtbase/lib -o tst_qline .obj/tst_qline.o -lm -L/home/krys/Projects/qt5/qtbase/lib -lQt5Test -lQt5Core -lpthread .obj/tst_qline.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status Should I disabled the gold linker? I've heard of problems with it while cross building Qt... I am able to execute some test suites, eg tst_qvariant yields: Totals: 131 passed, 0 failed, 0 skipped, 0 blacklisted, 40822ms Full list of build failures: $ make -j10 -k 1> /dev/null .obj/tst_qmouseevent.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[6]: *** [tst_qmouseevent] Error 1 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qmouseevent-make_first] Error 2 .obj/tst_qwindow.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[6]: *** [tst_qwindow] Error 1 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qwindow-make_first] Error 2 make[5]: Target 'first' not remade because of errors. make[4]: *** [sub-kernel-make_first] Error 2 .obj/tst_qbrush.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[6]: *** [tst_qbrush] Error 1 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qbrush-make_first] Error 2 .obj/tst_qcssparser.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[6]: *** [tst_qcssparser] Error 1 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qcssparser-make_first] Error 2 make[5]: Target 'first' not remade because of errors. make[4]: *** [sub-painting-make_first] Error 2 .obj/tst_qtextlayout.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[6]: *** [tst_qtextlayout] Error 1 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qtextlayout-make_first] Error 2 .obj/tst_gestures.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[5]: *** [tst_gestures] Error 1 make[5]: Target 'first' not remade because of errors. make[4]: *** [sub-gestures-make_first] Error 2 make[5]: Target 'first' not remade because of errors. make[4]: *** [sub-text-make_first] Error 2 make[4]: Target 'first' not remade because of errors. make[3]: *** [sub-gui-make_first] Error 2 .obj/tst_qpixmapfilter.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[6]: *** [tst_qpixmapfilter] Error 1 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qpixmapfilter-make_first] Error 2 make[5]: Target 'first' not remade because of errors. make[4]: *** [sub-effects-make_first] Error 2 make[4]: Target 'first' not remade because of errors. make[3]: *** [sub-other-make_first] Error 2 .obj/tst_qgraphicsobject.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[6]: *** [tst_qgraphicsobject] Error 1 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qgraphicsobject-make_first] Error 2 .obj/tst_qgraphicspixmapitem.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[6]: *** [tst_qgraphicspixmapitem] Error 1 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qgraphicspixmapitem-make_first] Error 2 .obj/tst_qgraphicstransform.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[6]: *** [tst_qgraphicstransform] Error 1 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qgraphicstransform-make_first] Error 2 make[5]: Target 'first' not remade because of errors. make[4]: *** [sub-graphicsview-make_first] Error 2 .obj/tst_qline.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file collect2: error: ld returned 1 exit status make[6]: *** [tst_qline] Error 1 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qline-make_first] Error 2 In file included from ../../../../../../include/QtCore/qglobal.h:1:0, from ../../../../../../include/QtCore/QtCore:4, from ../../../../../../include/QtTest/QtTestDepends:3, from ../../../../../../include/QtTest/QtTest:3, from ../tst_qatomicinteger.cpp:53: ../tst_qatomicinteger.cpp: In member function ‘void tst_QAtomicInteger_qlonglong::static_checks()’: ../../../../../../include/QtCore/../../src/corelib/global/qglobal.h:732:36: error: static assertion failed: Q_ALIGNOF(QAtomicInteger<T>) == Q_ALIGNOF(TypeInStruct) #define Q_STATIC_ASSERT(Condition) static_assert(bool(Condition), #Condition) ^ ../tst_qatomicinteger.cpp:193:5: note: in expansion of macro ‘Q_STATIC_ASSERT’ Q_STATIC_ASSERT(Q_ALIGNOF(QAtomicInteger<T>) == Q_ALIGNOF(TypeInStruct)); ^~~~~~~~~~~~~~~ In file included from ../../../../../../include/QtCore/qglobal.h:1:0, from ../../../../../../include/QtCore/QtCore:4, from ../../../../../../include/QtTest/QtTestDepends:3, from ../../../../../../include/QtTest/QtTest:3, from ../tst_qatomicinteger.cpp:53: ../tst_qatomicinteger.cpp: In member function ‘void tst_QAtomicInteger_qulonglong::static_checks()’: ../../../../../../include/QtCore/../../src/corelib/global/qglobal.h:732:36: error: static assertion failed: Q_ALIGNOF(QAtomicInteger<T>) == Q_ALIGNOF(TypeInStruct) #define Q_STATIC_ASSERT(Condition) static_assert(bool(Condition), #Condition) ^ ../tst_qatomicinteger.cpp:193:5: note: in expansion of macro ‘Q_STATIC_ASSERT’ Q_STATIC_ASSERT(Q_ALIGNOF(QAtomicInteger<T>) == Q_ALIGNOF(TypeInStruct)); ^~~~~~~~~~~~~~~ make[4]: Target 'first' not remade because of errors. make[3]: *** [sub-widgets-make_first] Error 2 make[7]: *** [.obj/tst_qatomicinteger.o] Error 1 make[7]: Target 'first' not remade because of errors. make[6]: *** [sub-qlonglong-make_first] Error 2 make[7]: *** [.obj/tst_qatomicinteger.o] Error 1 make[7]: Target 'first' not remade because of errors. make[6]: *** [sub-qulonglong-make_first] Error 2 make[6]: Target 'first' not remade because of errors. make[5]: *** [sub-qatomicinteger-make_first] Error 2 make[5]: Target 'first' not remade because of errors. make[4]: *** [sub-thread-make_first] Error 2 make[5]: Target 'first' not remade because of errors. make[4]: *** [sub-tools-make_first] Error 2 make[4]: Target 'first' not remade because of errors. make[3]: *** [sub-corelib-make_first] Error 2 make[3]: Target 'first' not remade because of errors. make[2]: *** [sub-auto-make_first] Error 2 make[2]: Target 'first' not remade because of errors. make[1]: *** [sub-tests-make_first] Error 2 make[1]: Target 'first' not remade because of errors. make: *** [module-qtbase-make_first] Error 2 make: Target 'first' not remade because of errors. $ Chris > > Any idea on what is going on? > > Thanks in advance, > Chris > > -------------------- > KUbuntu 17.04, gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406 > $ git show > commit 4b5af2de682541e0077298f22a05f36f80784151 > Author: Qt Submodule Update Bot <qt_submodule_update_...@qt-project.org> > Date: Tue Apr 11 16:03:07 2017 +0200 > > Update submodules on '5.9' in qt5 > > Change-Id: Id6c112e68c465ae52d49f4b35bee648894a35fef > Reviewed-by: Liang Qi <liang...@qt.io> > -------------------- > cd qlonglong/ && ( test -e Makefile || > /home/krys/Projects/qt5/qtbase/bin/qmake -o Makefile > /home/krys/Projects/qt5/qtbase/tests/auto/corelib/thread/qatomicinteger/qlonglong/qlonglong.pro > ) && make -f Makefile > make[7]: Entering directory > '/home/krys/Projects/qt5/qtbase/tests/auto/corelib/thread/qatomicinteger/qlonglong' > g++ -c -m32 -pipe -O2 -Wall -W -D_REENTRANT -fPIC > -DQATOMIC_TEST_TYPE=qlonglong > -Dtst_QAtomicIntegerXX=tst_QAtomicInteger_qlonglong > -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG > -DQT_TESTLIB_LIB -DQT_CORE_LIB > -DQT_TESTCASE_BUILDDIR='"/home/krys/Projects/qt5/qtbase/tests/auto/corelib/thread/qatomicinteger/qlonglong"' > -I. -I../../../../../../include -I../../../../../../include/QtTest > -I../../../../../../include/QtCore -I.moc > -I../../../../../../mkspecs/linux-g++-32 -o .obj/tst_qatomicinteger.o > ../tst_qatomicinteger.cpp > In file included from ../../../../../../include/QtCore/qglobal.h:1:0, > from ../../../../../../include/QtCore/QtCore:4, > from ../../../../../../include/QtTest/QtTestDepends:3, > from ../../../../../../include/QtTest/QtTest:3, > from ../tst_qatomicinteger.cpp:53: > ../tst_qatomicinteger.cpp: In member function ‘void > tst_QAtomicInteger_qlonglong::static_checks()’: > ../../../../../../include/QtCore/../../src/corelib/global/qglobal.h:732:36: > error: static assertion failed: Q_ALIGNOF(QAtomicInteger<T>) == > Q_ALIGNOF(TypeInStruct) > #define Q_STATIC_ASSERT(Condition) static_assert(bool(Condition), #Condition) > ^ > ../tst_qatomicinteger.cpp:193:5: note: in expansion of macro ‘Q_STATIC_ASSERT’ > Q_STATIC_ASSERT(Q_ALIGNOF(QAtomicInteger<T>) == Q_ALIGNOF(TypeInStruct)); > ^~~~~~~~~~~~~~~ > Makefile:1495: recipe for target '.obj/tst_qatomicinteger.o' failed > -------------------- _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest