Uploaded image for project: 'Qt Quality Assurance Infrastructure'
  1. Qt Quality Assurance Infrastructure
  2. QTQAINFRA-4648

QNX toolchain causing "undefined symbol" errors during linking

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P0: Blocker
    • None
    • unversioned
    • None

    Description

      Links:

      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.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            hehalmet Heikki Halmet
            thiago Thiago Macieira
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes