https://bugs.kde.org/show_bug.cgi?id=506763
Bug ID: 506763 Summary: Undefined symbols builing clazy on MacOS with llvm20 Classification: Developer tools Product: clazy Version First unspecified Reported In: Platform: Compiled Sources OS: macOS Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: unassigned-b...@kde.org Reporter: skutni...@ornl.gov CC: smart...@kde.org Target Milestone: --- SUMMARY I am getting an undefined symbol error during the linking phase when building clazy from source on MacOS Sequoia 15.5 (Intel processor), using llvm v20.1.7 + clang v20.1.7. I am compiling from source off of the master branch at https://invent.kde.org/sdk/clazy. STEPS TO REPRODUCE 1. Configure clazy using CMake & NInja: $ export CXX=clang++ $ export LLVM_ROOT=/usr/local/opt/llvm $ cmake -G Ninja 2. Attempt to build: $ cmake --build . 3. Target builds but fails on linker stage. OBSERVED RESULT Undefined symbols for architecture x86_64: "llvm::Registry<clang::tidy::ClangTidyModule>::node::node(llvm::SimpleRegistryEntry<clang::tidy::ClangTidyModule> const&)", referenced from: llvm::Registry<clang::tidy::ClangTidyModule>::Add<ClazyModule>::Add(llvm::StringRef, llvm::StringRef) in ClazyClangTidyModule.cpp.o "llvm::Registry<clang::tidy::ClangTidyModule>::add_node(llvm::Registry<clang::tidy::ClangTidyModule>::node*)", referenced from: llvm::Registry<clang::tidy::ClangTidyModule>::Add<ClazyModule>::Add(llvm::StringRef, llvm::StringRef) in ClazyClangTidyModule.cpp.o "clang::tidy::ClangTidyCheck::run(clang::ast_matchers::MatchFinder::MatchResult const&)", referenced from: vtable for ClazyCheck in ClazyClangTidyModule.cpp.o "clang::tidy::ClangTidyCheck::ClangTidyCheck(llvm::StringRef, clang::tidy::ClangTidyContext*)", referenced from: ClazyCheck::ClazyCheck(llvm::StringRef, clang::tidy::ClangTidyContext*) in ClazyClangTidyModule.cpp.o "clang::tidy::ClangTidyModule::getModuleOptions()", referenced from: vtable for ClazyModule in ClazyClangTidyModule.cpp.o "clang::tidy::ClangTidyContext::diag(llvm::StringRef, clang::SourceLocation, llvm::StringRef, clang::DiagnosticIDs::Level)", referenced from: ClazyCheck::emitDiagnostic::'lambda'(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, clang::SourceLocation const&, clang::DiagnosticIDs::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<clang::FixItHint, std::__1::allocator<clang::FixItHint>> const&)::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, clang::SourceLocation const&, clang::DiagnosticIDs::Level, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<clang::FixItHint, std::__1::allocator<clang::FixItHint>> const&) const in ClazyClangTidyModule.cpp.o "clang::tidy::ClangTidyCheckFactories::registerCheckFactory(llvm::StringRef, std::__1::function<std::__1::unique_ptr<clang::tidy::ClangTidyCheck, std::__1::default_delete<clang::tidy::ClangTidyCheck>> (llvm::StringRef, clang::tidy::ClangTidyContext*)>)", referenced from: void clang::tidy::ClangTidyCheckFactories::registerCheck<ClazyCheck>(llvm::StringRef) in ClazyClangTidyModule.cpp.o "vtable for clang::tidy::ClangTidyCheck", referenced from: clang::tidy::ClangTidyCheck::~ClangTidyCheck() in ClazyClangTidyModule.cpp.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for clang::tidy::ClangTidyModule", referenced from: clang::tidy::ClangTidyModule::ClangTidyModule() in ClazyClangTidyModule.cpp.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. ld: symbol(s) not found for architecture x86_64 EXPECTED RESULT clazy should link without errors. SOFTWARE/OS VERSIONS macOS: 15.5 Qt Version: N/A (testing for Qt5.15 => Qt6) Linker command output (if it's useful): ld: warning: ignoring duplicate libraries: '-lLLVM-20', '-lclangSupport', '-lclangTooling', '-lclangToolingCore', '-lclangToolingRefactoring', '/usr/local/Cellar/llvm/20.1.7/lib/libclangAPINotes.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangARCMigrate.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangASTMatchers.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangBasic.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangDependencyScanning.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangEdit.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangFrontendTool.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangLex.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangParse.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangSerialization.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangStaticAnalyzerCheckers.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangStaticAnalyzerCore.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangStaticAnalyzerFrontend.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangSupport.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangTooling.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangToolingCore.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangToolingInclusions.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangToolingRefactoring.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangToolingSyntax.a', '/usr/local/Cellar/llvm/20.1.7/lib/libclangTransformer.a' -- You are receiving this mail because: You are watching all bug changes.