[Interest] tst_qatomicinteger build failure (5.9 i386/x86_64)
Christian Gagneraud
chgans at gmail.com
Fri Sep 1 09:21:43 CEST 2017
On 1 September 2017 at 18:37, Christian Gagneraud <chgans at 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_bot at 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.qi at 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
> --------------------
More information about the Interest
mailing list