Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-126302

6.7.1 qtdeclarative: is not LTO ready

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P5: Not important
    • None
    • 6.7.1
    • None
    • Linux/X11

    Description

      I'v build qtdeclarative with LTO optimisation.

      Tan I've used packaged qtdeclarative I found that on linking qtquick3d I found that linking fail libqmldbg_quick3dprofiler.so with missing symbols.

      make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/qtquick3d-everywhere-src-6.7.1/x86_64-redhat-linux-gnu'
      [ 24%] Linking CXX shared module ../../../lib64/modules/qt6/qmltooling/libqmldbg_quick3dprofiler.so
      cd /home/tkloczko/rpmbuild/BUILD/qtquick3d-everywhere-src-6.7.1/x86_64-redhat-linux-gnu/src/plugins/qmldbg_quick3dprofiler && /usr/bin/cmake -E cmake_link_script CMakeFiles/QQuick3DProfilerAdapterFactoryPlugin.dir/link.txt --verbose=1
      /usr/bin/g++ -fPIC -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -mtls-dialect=gnu2 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -g -DNDEBUG -O2 -Wl,--no-undefined -Wl,--version-script,/home/tkloczko/rpmbuild/BUILD/qtquick3d-everywhere-src-6.7.1/x86_64-redhat-linux-gnu/src/plugins/qmldbg_quick3dprofiler/QQuick3DProfilerAdapterFactoryPlugin.version -Wl,--enable-new-dtags -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--gc-sections -Wl,--as-needed -Wl,--build-id=sha1 -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z,pack-relative-relocs -shared  -o ../../../lib64/modules/qt6/qmltooling/libqmldbg_quick3dprofiler.so CMakeFiles/QQuick3DProfilerAdapterFactoryPlugin.dir/QQuick3DProfilerAdapterFactoryPlugin_autogen/mocs_compilation.cpp.o CMakeFiles/QQuick3DProfilerAdapterFactoryPlugin.dir/qquick3dprofileradapter.cpp.o CMakeFiles/QQuick3DProfilerAdapterFactoryPlugin.dir/qquick3dprofileradapterfactory.cpp.o  -Wl,-rpath,/home/tkloczko/rpmbuild/BUILD/qtquick3d-everywhere-src-6.7.1/x86_64-redhat-linux-gnu/lib64: /usr/lib64/libQt6PacketProtocol.a /usr/lib64/libQt6Quick.so.6.7.1 /usr/lib64/libQt6QmlModels.so.6.7.1 /usr/lib64/libQt6Qml.so.6.7.1 /usr/lib64/libQt6QmlBuiltins.a /usr/lib64/libQt6Network.so.6.7.1 /usr/lib64/libQt6OpenGL.so.6.7.1 ../../../lib64/libQt6Quick3DUtils.so.6.7.1 /usr/lib64/libQt6Gui.so.6.7.1 /usr/lib64/libGLX.so /usr/lib64/libOpenGL.so /usr/lib64/libQt6Core.so.6.7.1 /usr/lib64/libxkbcommon.so
      /usr/bin/ld: CMakeFiles/QQuick3DProfilerAdapterFactoryPlugin.dir/qquick3dprofileradapter.cpp.o: in function `QQuick3DProfilerAdapter::sendMessages(long long, QList<QByteArray>&)':
      /home/tkloczko/rpmbuild/BUILD/qtquick3d-everywhere-src-6.7.1/src/plugins/qmldbg_quick3dprofiler/qquick3dprofileradapter.cpp:70:(.text._ZN23QQuick3DProfilerAdapter12sendMessagesExR5QListI10QByteArrayE+0x67): undefined reference to `QPacket::squeezedData() const'
      /usr/bin/ld: CMakeFiles/QQuick3DProfilerAdapterFactoryPlugin.dir/qquick3dprofileradapter.cpp.o: in function `QQuick3DProfilerDataToByteArrays':
      /home/tkloczko/rpmbuild/BUILD/qtquick3d-everywhere-src-6.7.1/src/plugins/qmldbg_quick3dprofiler/qquick3dprofileradapter.cpp:71:(.text._ZN23QQuick3DProfilerAdapter12sendMessagesExR5QListI10QByteArrayE+0xba): undefined reference to `QPacket::clear()'
      /usr/bin/ld: CMakeFiles/QQuick3DProfilerAdapterFactoryPlugin.dir/qquick3dprofileradapter.cpp.o: in function `QVersionedPacket<QQmlDebugConnector>::QVersionedPacket()':
      /usr/include/qt6/QtPacketProtocol/6.7.1/QtPacketProtocol/private/qversionedpacket_p.h:28:(.text._ZN23QQuick3DProfilerAdapter12sendMessagesExR5QListI10QByteArrayE+0x18a): undefined reference to `QPacket::QPacket(int)'
      collect2: error: ld returned 1 exit status
      make[2]: *** [src/plugins/qmldbg_quick3dprofiler/CMakeFiles/QQuick3DProfilerAdapterFactoryPlugin.dir/build.make:137: lib64/modules/qt6/qmltooling/libqmldbg_quick3dprofiler.so] Error 1
      make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/qtquick3d-everywhere-src-6.7.1/x86_64-redhat-linux-gnu'
      make[1]: *** [CMakeFiles/Makefile2:8242: src/plugins/qmldbg_quick3dprofiler/CMakeFiles/QQuick3DProfilerAdapterFactoryPlugin.dir/all] Error 2
      make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/qtquick3d-everywhere-src-6.7.1/x86_64-redhat-linux-gnu' 

      Attachments

        Issue Links

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

          Activity

            People

              qt.team.quick.subscriptions Qt Quick and Widgets Team
              kloczek Tomasz Kloczko
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes