Details
-
Bug
-
Resolution: Done
-
P0: Blocker
-
None
-
unversioned
-
None
Description
Links:
- https://testresults.qt.io/logs/qt/qtbase/9a1803ecf2050b9e12a78961e6d9c81bf27f66d3/LinuxUbuntu_20_04x86_64QNXQNX_710x86_64GCCqtci-linux-Ubuntu-20.04-x86_64-50-df9cabInsignificantTests_Sccache/1dc28ef295c09272724d7817208f9815764eed3b/build_1636621582/log.txt.gz (on https://codereview.qt-project.org/c/qt/qtbase/+/380689/3)
- https://testresults.qt.io/logs/qt/qtbase/9986e46f504dd9e5fb4018027ea8be835b9c1f96/LinuxUbuntu_20_04x86_64QNXQNX_710x86_64GCCqtci-linux-Ubuntu-20.04-x86_64-50-df9cabInsignificantTests_Sccache/1dc28ef295c09272724d7817208f9815764eed3b/build_1636644496/log.txt.gz (on https://codereview.qt-project.org/c/qt/qtbase/+/378951)
In both cases, we're adding new exported functions to QtCore and the linking of tests using those new symbols is failing.
/opt/qnx710/host/linux/x86_64/usr/bin/x86_64-pc-nto-qnx7.1.0-ld: tests/auto/corelib/serialization/qcborvalue/CMakeFiles/tst_qcborvalue.dir/tst_qcborvalue.cpp.o: in function `QCborValueRef::toInteger(long long) const': /home/qt/work/install/target/include/QtCore/qcborvalue.h:381: undefined reference to `QCborValueRef::concreteIntegral(QCborValueRef, long long, QCborValue::Type)'
and
/opt/qnx710/host/linux/x86_64/usr/bin/x86_64-pc-nto-qnx7.1.0-ld: tests/auto/widgets/dialogs/qwizard/CMakeFiles/tst_qwizard.dir/tst_qwizard.cpp.o: in function `operator<=(QOperatingSystemVersionBase, QOperatingSystemVersionBase)': /home/qt/work/install/target/include/QtCore/qoperatingsystemversion.h:122: undefined reference to `QOperatingSystemVersionBase::compare(QOperatingSystemVersionBase, QOperatingSystemVersionBase)'
One case could be a compiler bug.
Two completely independent cases is a CI misconfiguration. The linking command-line was:
/opt/qnx710/host/linux/x86_64/usr/bin/q++ -Vgcc_ntox86_64 -Wc,-isysroot,/opt/qnx710/target/qnx7 -lang-c++ -g -DNDEBUG -g -DNDEBUG -O2 tests/auto/corelib/serialization/qcborvalue/CMakeFiles/tst_qcborvalue.dir/tst_qcborvalue_autogen/mocs_compilation.cpp.o tests/auto/corelib/serialization/qcborvalue/CMakeFiles/tst_qcborvalue.dir/tst_qcborvalue.cpp.o -o tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue -Wl,-rpath,/home/qt/work/install/target/lib /home/qt/work/install/target/lib/libQt6Test.so.6.3.0 /home/qt/work/install/target/lib/libQt6Core.so.6.3.0
My theory is that the libQt6Core.so.6.3.0 that is being linked against is not the QtCore that was compiled.