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

[lto] build failures in applications consuming libQt6QmlDom.a

    XMLWordPrintable

Details

    • Linux/Wayland

    Description

      building qtcreator against qt-6.8.3 compiled with clang-19 and LTO fails with:

      [1418/3867] Linking CXX shared library lib/qtcreator/libQmlDesignerCore.so.16.0.82
      FAILED: lib/qtcreator/libQmlDesignerCore.so.16.0.82 
      : && /usr/bin/clang++-19 -fPIC -O3 -DNDEBUG -march=raptorlake  -Wl,--no-undefined -shared -Wl,-soname,libQmlDesignerCore.so.16 -o lib/qtcreator/libQmlDesignerCore.so.16.0.82 src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/QmlDesignerCore_autogen/mocs_compilation.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/designercoreutils/generatedcomponentutils.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/designercoreutils/modelmerger.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/designercoreutils/modelutils.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/designercoreutils/stylesheetmerger.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/designercoreutils/uniquename.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/exceptions/exception.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/exceptions/invalidargumentexception.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/exceptions/rewritingexception.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/exceptions/invalidmetainfoexception.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/addarraymembervisitor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/addobjectvisitor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/addpropertyvisitor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/astobjecttextextractor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/changeimportsvisitor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/changeobjecttypevisitor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/changepropertyvisitor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/firstdefinitionfinder.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/moveobjectbeforeobjectvisitor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/moveobjectvisitor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/objectlengthcalculator.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/qmlrefactoring.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/qmlrewriter.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/removepropertyvisitor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/filemanager/removeuiobjectmembervisitor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/imagecache/asynchronousexplicitimagecache.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/imagecache/asynchronousimagecache.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/imagecache/asynchronousimagefactory.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/imagecache/explicitimagecacheimageprovider.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/imagecache/imagecachegenerator.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/imagecache/imagecacheimageresponse.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/imagecache/midsizeimagecacheprovider.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/imagecache/smallimagecacheprovider.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/imagecache/synchronousimagecache.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/imagecache/timestampprovider.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/tracing/qmldesignertracing.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/metainfo/itemlibraryentry.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/metainfo/nodehints.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/metainfo/nodemetainfo.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/metainfo/itemlibraryinfo.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/metainfo/metainfo.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/metainfo/metainforeader.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/metainfo/subcomponentmanager.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/abstractproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/abstractview.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/annotation.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/auxiliarypropertystorageview.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/bindingproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/documentmessage.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/import.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/internalbindingproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/internalnode.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/internalnodeabstractproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/internalnodelistproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/internalnodeproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/internalproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/internalsignalhandlerproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/internalvariantproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/model.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/modelnode.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/modelresourcemanagement.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/nodeabstractproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/nodelistproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/nodeproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/signalhandlerproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/model/variantproperty.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/componenttextmodifier.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/modelnodepositionrecalculator.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/modelnodepositionstorage.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/modeltotextmerger.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/plaintexteditmodifier.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/propertycontainer.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/propertynode.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/propertyparser.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/qmltextgenerator.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/rewriteaction.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/rewriteactioncompressor.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/rewritertransaction.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/rewriterview.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/textmodifier.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/rewriter/texttomodelmerger.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/pluginmanager/widgetpluginmanager.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/pluginmanager/widgetpluginpath.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/sourcepathstorage/sourcepathexceptions.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/sourcepathstorage/sourcepathstorage.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/projectstorage/filesystem.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/projectstorage/filestatuscache.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/projectstorage/modulescanner.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/projectstorage/projectstorageexceptions.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/projectstorage/projectstorageupdater.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/projectstorage/projectstorage.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/projectstorage/typeannotationreader.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/projectstorage/qmltypesparser.cpp.o src/plugins/qmldesigner/libs/designercore/CMakeFiles/QmlDesignerCore.dir/projectstorage/qmldocumentparser.cpp.o  -Wl,-rpath,"\$ORIGIN:\$ORIGIN/../Qt/lib:/home/tim/bin/qt-6.8/lib:/home/tim/dev/qt-creator/build_17/lib/qtcreator:"  /home/tim/bin/qt-6.8/lib/libQt6Quick.so.6.8.3  lib/qtcreator/libQmlJS.so.16.0.82  lib/qtcreator/libTextEditorSupport.a  lib/qtcreator/libQmlDesignerSettings.a  lib/qtcreator/libQmlPuppetCommunication.a  lib/qtcreator/libQmlDesignerUtils.a  lib/qtcreator/libSqlite.so.16.0.82  /home/tim/bin/qt-6.8/lib/libQt6QmlDom.a  -lrt  /home/tim/bin/qt-6.8/lib/libQt6QmlMeta.so.6.8.3  /home/tim/bin/qt-6.8/lib/libQt6QmlWorkerScript.so.6.8.3  /home/tim/bin/qt-6.8/lib/libQt6QmlModels.so.6.8.3  /home/tim/bin/qt-6.8/lib/libQt6OpenGL.so.6.8.3  lib/qtcreator/libCPlusPlus.so.16.0.82  lib/qtcreator/libLanguageUtils.so.16.0.82  lib/qtcreator/libUtils.so.16.0.82  /home/tim/bin/qt-6.8/lib/libQt6Widgets.so.6.8.3  /home/tim/bin/qt-6.8/lib/libQt6Concurrent.so.6.8.3  /home/tim/bin/qt-6.8/lib/libQt6Core5Compat.so.6.8.3  lib/qtcreator/libNanotrace.so.16.0.82  /home/tim/bin/qt-6.8/lib/libQt6Gui.so.6.8.3  /usr/lib/x86_64-linux-gnu/libGLX.so  /usr/lib/x86_64-linux-gnu/libOpenGL.so  /home/tim/bin/qt-6.8/lib/libQt6QmlToolingSettings.a  /home/tim/bin/qt-6.8/lib/libQt6QmlCompiler.so.6.8.3  /home/tim/bin/qt-6.8/lib/libQt6Qml.so.6.8.3  /home/tim/bin/qt-6.8/lib/libQt6Network.so.6.8.3  /home/tim/bin/qt-6.8/lib/libQt6Core.so.6.8.3  -Wl,-rpath-link,/home/tim/dev/qt-creator/build_17/lib/qtcreator:/home/tim/bin/qt-6.8/lib && :
      /usr/bin/ld: /home/tim/bin/qt-6.8/lib/libQt6QmlDom.a: error adding symbols: file format not recognized
      clang++-19: error: linker command failed with exit code 1 (use -v to see invocation)
      
      • both qt and qtcreator are compiled with clang-19
      • qt is compiled with LTO enabled, qtcreator is compiled without LTO

      for GCC builds qt's cmake builds append -ffat-lto-objects to static library builds, but doing the same for clang results in undefined hidden symbols when referencing vtables (compare https://github.com/llvm/llvm-project/issues/90857)

      Attachments

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

        Activity

          People

            qtbuildsystem Qt Build System Team
            timblechmann tim blechmann
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes