Bug 2185625
Summary: | qt-creator drop explicit dependency on clang-libs | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Tom Stellard <tstellar> | ||||
Component: | qt-creator | Assignee: | Sandro Mani <manisandro> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 38 | CC: | gmarr, helio, jreznik, kde-sig, manisandro, marco, rdieter, thomas.zimmermann, tuliom | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | AcceptedFreezeException | ||||||
Fixed In Version: | qt-creator-9.0.1-7.fc38 | Doc Type: | If docs needed, set a value | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2023-04-11 23:36:44 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 2083913 | ||||||
Attachments: |
|
Description
Tom Stellard
2023-04-10 15:50:01 UTC
Fixed in update https://bodhi.fedoraproject.org/updates/FEDORA-2023-07c0c553a1. Proposed as a Freeze Exception for 38-final by Fedora user tstellar using the blocker tracking app because: qt-creator has a false dependency on clang-libs =15.0.7, so it will fail to install once clang is updated to 16.0.0 in https://bodhi.fedoraproject.org/updates/FEDORA-2023-3a602914f6 Discussed during the 2023-04-10 blocker review meeting: [0] The decision to classify this bug as an "AcceptedFreezeException (Final)" was made to fix the fails-to-install problem in the frozen release repository. [0] https://meetbot.fedoraproject.org/fedora-blocker-review/2023-04-10/f38-blocker-review.2023-04-10-16.00.txt FEDORA-2023-07c0c553a1 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-07c0c553a1 FEDORA-2023-07c0c553a1 has been pushed to the Fedora 38 stable repository. If problem still persists, please make note of it in this bug report. Created attachment 1958631 [details]
undefined symbols in the clang format plugin
Can it be that this bug fix broke the QtCreator ClangFormat plugin? Can you reproduce this if you have llvm-libs installed? llvm-libs are already installed. I tried the QtCreator version of F37 and got similar output. But there the plugin loader has no linking error. So maybe some other lib was providing the symbol. /usr/lib64/qtcreator/plugins/libClangFormat.so: Cannot load library /usr/lib64/qtcreator/plugins/libClangFormat.so: (/usr/lib64/qtcreator/plugins/libClangFormat.so: undefined symbol: _ZN4llvm15SmallVectorBaseIjE13mallocForGrowEmmRm) I found this in the cmake files of QtCreator: find_package(Clang CONFIG) option(CLANGTOOLING_LINK_CLANG_DYLIB "Force linking of Clang tooling against clang-cpp" NO) set(CLANG_FORMAT_LIB clangFormat) if (TARGET clang-cpp AND CLANGTOOLING_LINK_CLANG_DYLIB) set(CLANG_FORMAT_LIB clang-cpp) endif() The symbol is in: nm -D /usr/lib64/libLLVM-15.0.7.so |grep _ZN4llvm15SmallVectorBaseIjE13mallocForGrowEmmRm 0000000000bd3540 W _ZN4llvm15SmallVectorBaseIjE13mallocForGrowEmmRm@@LLVM_15 Seems the symbol is also defined in: /usr/lib64/libLLVMSupport.a:SmallVector.cpp.o:0000000000000000 W _ZN4llvm15SmallVectorBaseIjE13mallocForGrowEmmRm I don't know if LLVM is linked dynamically or statically. I hope this help. I don't think the dependency changed caused this. It's likely due to some kind of version mismatch between the plugin bundled with qt-creator, and whatever tools is trying to load it, maybe clang-format? I'm not sure how these plugins work. The ClangFormat plugin of QtCreator is part of QtCreator. So a version mismatch is very unlikely. Very is very few functionality in QtCreator which is not a plugin. It is not using the clang-format binary but the libclangFormat.a from Clang. libclangFormat.a has other dependencies which can be statically or dynamically linked. Depends on the LLVM configuration. I looked into your build patches and ... -DBUILD_PLUGIN_CLANGREFACTORING=ON -DBUILD_PLUGIN_CLANGPCHMANAGER=ON This were very experimental plugins which should have been never be activated. Anyway they do no exists anymore. Your qt-creator-clangformat.patch is missing clangSupport. Maybe more. So you are right, there should be not anymore a dependency because it is statically linked. Maybe you can push some of the patches upstream? |