Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation error in ArchLinux #5

Closed
mortymacs opened this issue Apr 29, 2022 · 10 comments
Closed

Compilation error in ArchLinux #5

mortymacs opened this issue Apr 29, 2022 · 10 comments

Comments

@mortymacs
Copy link

Hi :)

In the linking step, it can't find clang-related libraries while I already have installed Clang and LLVM both on my system.

$ cmake --build build                                                             via △ v3.23.1 took 8s
[ 11%] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/format.cc.o
[ 22%] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/os.cc.o
[ 33%] Linking CXX static library libfmt.a
[ 33%] Built target fmt
[ 44%] Building CXX object CMakeFiles/fccf_lib.dir/source/searcher.cpp.o
[ 55%] Building CXX object CMakeFiles/fccf_lib.dir/source/sse2_strstr.cpp.o
[ 66%] Building CXX object CMakeFiles/fccf_lib.dir/source/lexer.cpp.o
[ 77%] Building CXX object CMakeFiles/fccf_lib.dir/source/utf8.cpp.o
[ 77%] Built target fccf_lib
[ 88%] Building CXX object CMakeFiles/fccf_exe.dir/source/main.cpp.o
[100%] Linking CXX executable fccf
/usr/bin/ld: cannot find -lclangTooling: No such file or directory
/usr/bin/ld: cannot find -lclangFrontendTool: No such file or directory
/usr/bin/ld: cannot find -lclangFrontend: No such file or directory
/usr/bin/ld: cannot find -lclangDriver: No such file or directory
/usr/bin/ld: cannot find -lclangSerialization: No such file or directory
/usr/bin/ld: cannot find -lclangCodeGen: No such file or directory
/usr/bin/ld: cannot find -lclangParse: No such file or directory
/usr/bin/ld: cannot find -lclangSema: No such file or directory
/usr/bin/ld: cannot find -lclangStaticAnalyzerFrontend: No such file or directory
/usr/bin/ld: cannot find -lclangStaticAnalyzerCheckers: No such file or directory
/usr/bin/ld: cannot find -lclangStaticAnalyzerCore: No such file or directory
/usr/bin/ld: cannot find -lclangAnalysis: No such file or directory
/usr/bin/ld: cannot find -lclangARCMigrate: No such file or directory
/usr/bin/ld: cannot find -lclangEdit: No such file or directory
/usr/bin/ld: cannot find -lclangAST: No such file or directory
/usr/bin/ld: cannot find -lclangLex: No such file or directory
/usr/bin/ld: cannot find -lclangBasic: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/fccf_exe.dir/build.make:107: fccf] Error 1
make[1]: *** [CMakeFiles/Makefile2:228: CMakeFiles/fccf_exe.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

The Clang header directory:

ls -l /usr/include/clang
total 104
drwxr-xr-x 6 root root 4096 Apr  1 12:06 Analysis
drwxr-xr-x 2 root root 4096 Apr  1 12:06 APINotes
drwxr-xr-x 2 root root 4096 Apr  1 12:06 ARCMigrate
drwxr-xr-x 2 root root 4096 Apr  1 12:06 AST
drwxr-xr-x 3 root root 4096 Apr  1 12:06 ASTMatchers
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Basic
drwxr-xr-x 2 root root 4096 Apr  1 12:06 CodeGen
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Config
drwxr-xr-x 2 root root 4096 Apr  1 12:06 CrossTU
drwxr-xr-x 2 root root 4096 Apr  1 12:06 DirectoryWatcher
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Driver
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Edit
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Format
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Frontend
drwxr-xr-x 2 root root 4096 Apr  1 12:06 FrontendTool
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Index
drwxr-xr-x 2 root root 4096 Apr  1 12:06 IndexSerialization
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Interpreter
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Lex
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Parse
drwxr-xr-x 4 root root 4096 Apr  1 12:06 Rewrite
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Sema
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Serialization
drwxr-xr-x 5 root root 4096 Apr  1 12:06 StaticAnalyzer
drwxr-xr-x 2 root root 4096 Apr  1 12:06 Testing
drwxr-xr-x 9 root root 4096 Apr  1 12:06 Tooling

I'm using ArchLinux with latest update of all packages.

@p-ranav
Copy link
Owner

p-ranav commented Apr 29, 2022

You need to install LLVM. I mention this here.

The build system is looking for libclang* that is part of the LLVM library.

/usr/lib/llvm-12$ ls -lart include/
total 72
-rw-r--r--  1 root root 47137 Apr 15  2021 ompt-multiplex.h
lrwxrwxrwx  1 root root    33 Sep  1  2021 llvm-c -> ../../../include/llvm-c-12/llvm-c
lrwxrwxrwx  1 root root    29 Sep  1  2021 llvm -> ../../../include/llvm-12/llvm
drwxr-xr-x  6 root root  4096 Apr 24 00:26 polly
drwxr-xr-x 28 root root  4096 Apr 24 00:26 clang
drwxr-xr-x  2 root root  4096 Apr 24 00:27 clang-c
drwxr-xr-x 29 root root  4096 Apr 24 00:27 clang-tidy
drwxr-xr-x  7 root root  4096 Apr 24 00:28 ..
drwxr-xr-x  6 root root  4096 Apr 24 00:28 .

/usr/lib/llvm-12$ ls lib/
LLVMPolly.so                    libLLVMHexagonAsmParser.a     libLLVMSparcDisassembler.a        libclangFrontendTool.a
LLVMgold.so                     libLLVMHexagonCodeGen.a       libLLVMSparcInfo.a                libclangHandleCXX.a
clang                           libLLVMHexagonDesc.a          libLLVMSupport.a                  libclangHandleLLVM.a
cmake                           libLLVMHexagonDisassembler.a  libLLVMSymbolize.a                libclangIncludeFixer.a
libLLVM-12.0.0.so               libLLVMHexagonInfo.a          libLLVMSystemZAsmParser.a         libclangIncludeFixerPlugin.a
libLLVM-12.0.0.so.1             libLLVMIRReader.a             libLLVMSystemZCodeGen.a           libclangIndex.a
libLLVM-12.so                   libLLVMInstCombine.a          libLLVMSystemZDesc.a              libclangIndexSerialization.a
libLLVM-12.so.1                 libLLVMInstrumentation.a      libLLVMSystemZDisassembler.a      libclangLex.a
libLLVM.so                      libLLVMInterfaceStub.a        libLLVMSystemZInfo.a              libclangMove.a
libLLVMAArch64AsmParser.a       libLLVMInterpreter.a          libLLVMTableGen.a                 libclangParse.a
libLLVMAArch64CodeGen.a         libLLVMJITLink.a              libLLVMTarget.a                   libclangQuery.a
libLLVMAArch64Desc.a            libLLVMLTO.a                  libLLVMTextAPI.a                  libclangReorderFields.a
libLLVMAArch64Disassembler.a    libLLVMLanaiAsmParser.a       libLLVMTransformUtils.a           libclangRewrite.a
libLLVMAArch64Info.a            libLLVMLanaiCodeGen.a         libLLVMVectorize.a                libclangRewriteFrontend.a
libLLVMAArch64Utils.a           libLLVMLanaiDesc.a            libLLVMWebAssemblyAsmParser.a     libclangSema.a
libLLVMAMDGPUAsmParser.a        libLLVMLanaiDisassembler.a    libLLVMWebAssemblyCodeGen.a       libclangSerialization.a
libLLVMAMDGPUCodeGen.a          libLLVMLanaiInfo.a            libLLVMWebAssemblyDesc.a          libclangStaticAnalyzerCheckers.a
libLLVMAMDGPUDesc.a             libLLVMLibDriver.a            libLLVMWebAssemblyDisassembler.a  libclangStaticAnalyzerCore.a
libLLVMAMDGPUDisassembler.a     libLLVMLineEditor.a           libLLVMWebAssemblyInfo.a          libclangStaticAnalyzerFrontend.a
libLLVMAMDGPUInfo.a             libLLVMLinker.a               libLLVMWindowsManifest.a          libclangTesting.a
libLLVMAMDGPUUtils.a            libLLVMMC.a                   libLLVMX86AsmParser.a             libclangTidy.a
libLLVMARMAsmParser.a           libLLVMMCA.a                  libLLVMX86CodeGen.a               libclangTidyAbseilModule.a
libLLVMARMCodeGen.a             libLLVMMCDisassembler.a       libLLVMX86Desc.a                  libclangTidyAlteraModule.a
libLLVMARMDesc.a                libLLVMMCJIT.a                libLLVMX86Disassembler.a          libclangTidyAndroidModule.a
libLLVMARMDisassembler.a        libLLVMMCParser.a             libLLVMX86Info.a                  libclangTidyBoostModule.a
libLLVMARMInfo.a                libLLVMMIRParser.a            libLLVMXCoreCodeGen.a             libclangTidyBugproneModule.a
libLLVMARMUtils.a               libLLVMMSP430AsmParser.a      libLLVMXCoreDesc.a                libclangTidyCERTModule.a
libLLVMAVRAsmParser.a           libLLVMMSP430CodeGen.a        libLLVMXCoreDisassembler.a        libclangTidyConcurrencyModule.a
libLLVMAVRCodeGen.a             libLLVMMSP430Desc.a           libLLVMXCoreInfo.a                libclangTidyCppCoreGuidelinesModule.a
libLLVMAVRDesc.a                libLLVMMSP430Disassembler.a   libLLVMXRay.a                     libclangTidyDarwinModule.a
libLLVMAVRDisassembler.a        libLLVMMSP430Info.a           libLLVMipo.a                      libclangTidyFuchsiaModule.a
libLLVMAVRInfo.a                libLLVMMipsAsmParser.a        libLTO.so                         libclangTidyGoogleModule.a
libLLVMAggressiveInstCombine.a  libLLVMMipsCodeGen.a          libLTO.so.12                      libclangTidyHICPPModule.a
libLLVMAnalysis.a               libLLVMMipsDesc.a             libPolly.a                        libclangTidyLLVMLibcModule.a
libLLVMAsmParser.a              libLLVMMipsDisassembler.a     libPollyISL.a                     libclangTidyLLVMModule.a
libLLVMAsmPrinter.a             libLLVMMipsInfo.a             libPollyPPCG.a                    libclangTidyLinuxKernelModule.a
libLLVMBPFAsmParser.a           libLLVMNVPTXCodeGen.a         libRemarks.so                     libclangTidyMPIModule.a
libLLVMBPFCodeGen.a             libLLVMNVPTXDesc.a            libRemarks.so.12                  libclangTidyMain.a
libLLVMBPFDesc.a                libLLVMNVPTXInfo.a            libarcher.so                      libclangTidyMiscModule.a
libLLVMBPFDisassembler.a        libLLVMObjCARCOpts.a          libarcher_static.a                libclangTidyModernizeModule.a
libLLVMBPFInfo.a                libLLVMObject.a               libclang-12.0.0.so                libclangTidyObjCModule.a
libLLVMBinaryFormat.a           libLLVMObjectYAML.a           libclang-12.so                    libclangTidyOpenMPModule.a
libLLVMBitReader.a              libLLVMOption.a               libclang-12.so.1                  libclangTidyPerformanceModule.a
libLLVMBitWriter.a              libLLVMOrcJIT.a               libclang-cpp.so.12                libclangTidyPlugin.a
libLLVMBitstreamReader.a        libLLVMOrcShared.a            libclang.so                       libclangTidyPortabilityModule.a
libLLVMCFGuard.a                libLLVMOrcTargetProcess.a     libclang.so.1                     libclangTidyReadabilityModule.a
libLLVMCodeGen.a                libLLVMPasses.a               libclangAPINotes.a                libclangTidyUtils.a
libLLVMCore.a                   libLLVMPerfJITEvents.a        libclangARCMigrate.a              libclangTidyZirconModule.a
libLLVMCoroutines.a             libLLVMPowerPCAsmParser.a     libclangAST.a                     libclangTooling.a
libLLVMCoverage.a               libLLVMPowerPCCodeGen.a       libclangASTMatchers.a             libclangToolingASTDiff.a
libLLVMDWARFLinker.a            libLLVMPowerPCDesc.a          libclangAnalysis.a                libclangToolingCore.a
libLLVMDebugInfoCodeView.a      libLLVMPowerPCDisassembler.a  libclangApplyReplacements.a       libclangToolingInclusions.a
libLLVMDebugInfoDWARF.a         libLLVMPowerPCInfo.a          libclangBasic.a                   libclangToolingRefactoring.a
libLLVMDebugInfoGSYM.a          libLLVMProfileData.a          libclangChangeNamespace.a         libclangToolingSyntax.a
libLLVMDebugInfoMSF.a           libLLVMRISCVAsmParser.a       libclangCodeGen.a                 libclangTransformer.a
libLLVMDebugInfoPDB.a           libLLVMRISCVCodeGen.a         libclangCrossTU.a                 libclangdRemoteIndex.a
libLLVMDemangle.a               libLLVMRISCVDesc.a            libclangDaemon.a                  libclangdSupport.a
libLLVMDlltoolDriver.a          libLLVMRISCVDisassembler.a    libclangDaemonTweaks.a            libfindAllSymbols.a
libLLVMExecutionEngine.a        libLLVMRISCVInfo.a            libclangDependencyScanning.a      libgomp.so
libLLVMExtensions.a             libLLVMRemarks.a              libclangDirectoryWatcher.a        libiomp5.so
libLLVMFileCheck.a              libLLVMRuntimeDyld.a          libclangDoc.a                     libomp-12.so.5
libLLVMFrontendOpenACC.a        libLLVMScalarOpts.a           libclangDriver.a                  libomp.so
libLLVMFrontendOpenMP.a         libLLVMSelectionDAG.a         libclangDynamicASTMatchers.a      libomp.so.5
libLLVMFuzzMutate.a             libLLVMSparcAsmParser.a       libclangEdit.a                    libomptarget.so
libLLVMGlobalISel.a             libLLVMSparcCodeGen.a         libclangFormat.a                  libomptarget.so.12
libLLVMHelloNew.a               libLLVMSparcDesc.a            libclangFrontend.a
/usr/lib/llvm-12$

@mortymacs
Copy link
Author

mortymacs commented Apr 29, 2022

Yeah, I already installed those requirements. But they're in /usr/lib/ and not /usr/lib/llvm-12:

$ ls /usr/lib/libLLVM*
/usr/lib/libLLVM-13.0.1.so		 /usr/lib/libLLVMLineEditor.a
/usr/lib/libLLVM-13.so			 /usr/lib/libLLVMLinker.a
/usr/lib/libLLVMAArch64AsmParser.a	 /usr/lib/libLLVMLTO.a
/usr/lib/libLLVMAArch64CodeGen.a	 /usr/lib/libLLVMMC.a
/usr/lib/libLLVMAArch64Desc.a		 /usr/lib/libLLVMMCA.a
/usr/lib/libLLVMAArch64Disassembler.a	 /usr/lib/libLLVMMCACustomBehaviourAMDGPU.a
/usr/lib/libLLVMAArch64Info.a		 /usr/lib/libLLVMMCDisassembler.a
/usr/lib/libLLVMAArch64Utils.a		 /usr/lib/libLLVMMCJIT.a
/usr/lib/libLLVMAggressiveInstCombine.a  /usr/lib/libLLVMMCParser.a
/usr/lib/libLLVMAMDGPUAsmParser.a	 /usr/lib/libLLVMMipsAsmParser.a
/usr/lib/libLLVMAMDGPUCodeGen.a		 /usr/lib/libLLVMMipsCodeGen.a
/usr/lib/libLLVMAMDGPUDesc.a		 /usr/lib/libLLVMMipsDesc.a
/usr/lib/libLLVMAMDGPUDisassembler.a	 /usr/lib/libLLVMMipsDisassembler.a
/usr/lib/libLLVMAMDGPUInfo.a		 /usr/lib/libLLVMMipsInfo.a
/usr/lib/libLLVMAMDGPUUtils.a		 /usr/lib/libLLVMMIRParser.a
/usr/lib/libLLVMAnalysis.a		 /usr/lib/libLLVMMSP430AsmParser.a
/usr/lib/libLLVMARMAsmParser.a		 /usr/lib/libLLVMMSP430CodeGen.a
/usr/lib/libLLVMARMCodeGen.a		 /usr/lib/libLLVMMSP430Desc.a
/usr/lib/libLLVMARMDesc.a		 /usr/lib/libLLVMMSP430Disassembler.a
/usr/lib/libLLVMARMDisassembler.a	 /usr/lib/libLLVMMSP430Info.a
/usr/lib/libLLVMARMInfo.a		 /usr/lib/libLLVMNVPTXCodeGen.a
/usr/lib/libLLVMARMUtils.a		 /usr/lib/libLLVMNVPTXDesc.a
/usr/lib/libLLVMAsmParser.a		 /usr/lib/libLLVMNVPTXInfo.a
/usr/lib/libLLVMAsmPrinter.a		 /usr/lib/libLLVMObjCARCOpts.a
/usr/lib/libLLVMAVRAsmParser.a		 /usr/lib/libLLVMObject.a
/usr/lib/libLLVMAVRCodeGen.a		 /usr/lib/libLLVMObjectYAML.a
/usr/lib/libLLVMAVRDesc.a		 /usr/lib/libLLVMOption.a
/usr/lib/libLLVMAVRDisassembler.a	 /usr/lib/libLLVMOrcJIT.a
/usr/lib/libLLVMAVRInfo.a		 /usr/lib/libLLVMOrcShared.a
/usr/lib/libLLVMBinaryFormat.a		 /usr/lib/libLLVMOrcTargetProcess.a
/usr/lib/libLLVMBitReader.a		 /usr/lib/libLLVMPasses.a
/usr/lib/libLLVMBitstreamReader.a	 /usr/lib/libLLVMPowerPCAsmParser.a
/usr/lib/libLLVMBitWriter.a		 /usr/lib/libLLVMPowerPCCodeGen.a
/usr/lib/libLLVMBPFAsmParser.a		 /usr/lib/libLLVMPowerPCDesc.a
/usr/lib/libLLVMBPFCodeGen.a		 /usr/lib/libLLVMPowerPCDisassembler.a
/usr/lib/libLLVMBPFDesc.a		 /usr/lib/libLLVMPowerPCInfo.a
/usr/lib/libLLVMBPFDisassembler.a	 /usr/lib/libLLVMProfileData.a
/usr/lib/libLLVMBPFInfo.a		 /usr/lib/libLLVMRemarks.a
/usr/lib/libLLVMCFGuard.a		 /usr/lib/libLLVMRISCVAsmParser.a
/usr/lib/libLLVMCFIVerify.a		 /usr/lib/libLLVMRISCVCodeGen.a
/usr/lib/libLLVMCodeGen.a		 /usr/lib/libLLVMRISCVDesc.a
/usr/lib/libLLVMCore.a			 /usr/lib/libLLVMRISCVDisassembler.a
/usr/lib/libLLVMCoroutines.a		 /usr/lib/libLLVMRISCVInfo.a
/usr/lib/libLLVMCoverage.a		 /usr/lib/libLLVMRuntimeDyld.a
/usr/lib/libLLVMDebugInfoCodeView.a	 /usr/lib/libLLVMScalarOpts.a
/usr/lib/libLLVMDebugInfoDWARF.a	 /usr/lib/libLLVMSelectionDAG.a
/usr/lib/libLLVMDebugInfoGSYM.a		 /usr/lib/libLLVM.so
/usr/lib/libLLVMDebugInfoMSF.a		 /usr/lib/libLLVMSparcAsmParser.a
/usr/lib/libLLVMDebugInfoPDB.a		 /usr/lib/libLLVMSparcCodeGen.a
/usr/lib/libLLVMDemangle.a		 /usr/lib/libLLVMSparcDesc.a
/usr/lib/libLLVMDlltoolDriver.a		 /usr/lib/libLLVMSparcDisassembler.a
/usr/lib/libLLVMDWARFLinker.a		 /usr/lib/libLLVMSparcInfo.a
/usr/lib/libLLVMDWP.a			 /usr/lib/libLLVMSupport.a
/usr/lib/libLLVMExecutionEngine.a	 /usr/lib/libLLVMSymbolize.a
/usr/lib/libLLVMExegesis.a		 /usr/lib/libLLVMSystemZAsmParser.a
/usr/lib/libLLVMExegesisAArch64.a	 /usr/lib/libLLVMSystemZCodeGen.a
/usr/lib/libLLVMExegesisMips.a		 /usr/lib/libLLVMSystemZDesc.a
/usr/lib/libLLVMExegesisPowerPC.a	 /usr/lib/libLLVMSystemZDisassembler.a
/usr/lib/libLLVMExegesisX86.a		 /usr/lib/libLLVMSystemZInfo.a
/usr/lib/libLLVMExtensions.a		 /usr/lib/libLLVMTableGen.a
/usr/lib/libLLVMFileCheck.a		 /usr/lib/libLLVMTableGenGlobalISel.a
/usr/lib/libLLVMFrontendOpenACC.a	 /usr/lib/libLLVMTarget.a
/usr/lib/libLLVMFrontendOpenMP.a	 /usr/lib/libLLVMTextAPI.a
/usr/lib/libLLVMFuzzMutate.a		 /usr/lib/libLLVMTransformUtils.a
/usr/lib/libLLVMGlobalISel.a		 /usr/lib/libLLVMVectorize.a
/usr/lib/libLLVMHexagonAsmParser.a	 /usr/lib/libLLVMWebAssemblyAsmParser.a
/usr/lib/libLLVMHexagonCodeGen.a	 /usr/lib/libLLVMWebAssemblyCodeGen.a
/usr/lib/libLLVMHexagonDesc.a		 /usr/lib/libLLVMWebAssemblyDesc.a
/usr/lib/libLLVMHexagonDisassembler.a	 /usr/lib/libLLVMWebAssemblyDisassembler.a
/usr/lib/libLLVMHexagonInfo.a		 /usr/lib/libLLVMWebAssemblyInfo.a
/usr/lib/libLLVMInstCombine.a		 /usr/lib/libLLVMWebAssemblyUtils.a
/usr/lib/libLLVMInstrumentation.a	 /usr/lib/libLLVMWindowsManifest.a
/usr/lib/libLLVMInterfaceStub.a		 /usr/lib/libLLVMX86AsmParser.a
/usr/lib/libLLVMInterpreter.a		 /usr/lib/libLLVMX86CodeGen.a
/usr/lib/libLLVMipo.a			 /usr/lib/libLLVMX86Desc.a
/usr/lib/libLLVMIRReader.a		 /usr/lib/libLLVMX86Disassembler.a
/usr/lib/libLLVMJITLink.a		 /usr/lib/libLLVMX86Info.a
/usr/lib/libLLVMLanaiAsmParser.a	 /usr/lib/libLLVMXCoreCodeGen.a
/usr/lib/libLLVMLanaiCodeGen.a		 /usr/lib/libLLVMXCoreDesc.a
/usr/lib/libLLVMLanaiDesc.a		 /usr/lib/libLLVMXCoreDisassembler.a
/usr/lib/libLLVMLanaiDisassembler.a	 /usr/lib/libLLVMXCoreInfo.a
/usr/lib/libLLVMLanaiInfo.a		 /usr/lib/libLLVMXRay.a
/usr/lib/libLLVMLibDriver.a

I also checked the output of llvm-config command:

$ llvm-config --libs all
-lLLVM-13

@p-ranav
Copy link
Owner

p-ranav commented Apr 29, 2022

I see your output showing libLLVM*.

Do you have all the libclang* libraries? Your build error suggests that these libraries are missing.

I think it should be OK if they are in /usr/lib. CMake build should be able to find it.

~$ ls /usr/lib/llvm-12/lib/libclang*
/usr/lib/llvm-12/lib/libclang-12.0.0.so            /usr/lib/llvm-12/lib/libclangStaticAnalyzerCheckers.a
/usr/lib/llvm-12/lib/libclang-12.so                /usr/lib/llvm-12/lib/libclangStaticAnalyzerCore.a
/usr/lib/llvm-12/lib/libclang-12.so.1              /usr/lib/llvm-12/lib/libclangStaticAnalyzerFrontend.a
/usr/lib/llvm-12/lib/libclang-cpp.so.12            /usr/lib/llvm-12/lib/libclangTesting.a
/usr/lib/llvm-12/lib/libclang.so                   /usr/lib/llvm-12/lib/libclangTidy.a
/usr/lib/llvm-12/lib/libclang.so.1                 /usr/lib/llvm-12/lib/libclangTidyAbseilModule.a
/usr/lib/llvm-12/lib/libclangAPINotes.a            /usr/lib/llvm-12/lib/libclangTidyAlteraModule.a
/usr/lib/llvm-12/lib/libclangARCMigrate.a          /usr/lib/llvm-12/lib/libclangTidyAndroidModule.a
/usr/lib/llvm-12/lib/libclangAST.a                 /usr/lib/llvm-12/lib/libclangTidyBoostModule.a
/usr/lib/llvm-12/lib/libclangASTMatchers.a         /usr/lib/llvm-12/lib/libclangTidyBugproneModule.a
/usr/lib/llvm-12/lib/libclangAnalysis.a            /usr/lib/llvm-12/lib/libclangTidyCERTModule.a
/usr/lib/llvm-12/lib/libclangApplyReplacements.a   /usr/lib/llvm-12/lib/libclangTidyConcurrencyModule.a
/usr/lib/llvm-12/lib/libclangBasic.a               /usr/lib/llvm-12/lib/libclangTidyCppCoreGuidelinesModule.a
/usr/lib/llvm-12/lib/libclangChangeNamespace.a     /usr/lib/llvm-12/lib/libclangTidyDarwinModule.a
/usr/lib/llvm-12/lib/libclangCodeGen.a             /usr/lib/llvm-12/lib/libclangTidyFuchsiaModule.a
/usr/lib/llvm-12/lib/libclangCrossTU.a             /usr/lib/llvm-12/lib/libclangTidyGoogleModule.a
/usr/lib/llvm-12/lib/libclangDaemon.a              /usr/lib/llvm-12/lib/libclangTidyHICPPModule.a
/usr/lib/llvm-12/lib/libclangDaemonTweaks.a        /usr/lib/llvm-12/lib/libclangTidyLLVMLibcModule.a
/usr/lib/llvm-12/lib/libclangDependencyScanning.a  /usr/lib/llvm-12/lib/libclangTidyLLVMModule.a
/usr/lib/llvm-12/lib/libclangDirectoryWatcher.a    /usr/lib/llvm-12/lib/libclangTidyLinuxKernelModule.a
/usr/lib/llvm-12/lib/libclangDoc.a                 /usr/lib/llvm-12/lib/libclangTidyMPIModule.a
/usr/lib/llvm-12/lib/libclangDriver.a              /usr/lib/llvm-12/lib/libclangTidyMain.a
/usr/lib/llvm-12/lib/libclangDynamicASTMatchers.a  /usr/lib/llvm-12/lib/libclangTidyMiscModule.a
/usr/lib/llvm-12/lib/libclangEdit.a                /usr/lib/llvm-12/lib/libclangTidyModernizeModule.a
/usr/lib/llvm-12/lib/libclangFormat.a              /usr/lib/llvm-12/lib/libclangTidyObjCModule.a
/usr/lib/llvm-12/lib/libclangFrontend.a            /usr/lib/llvm-12/lib/libclangTidyOpenMPModule.a
/usr/lib/llvm-12/lib/libclangFrontendTool.a        /usr/lib/llvm-12/lib/libclangTidyPerformanceModule.a
/usr/lib/llvm-12/lib/libclangHandleCXX.a           /usr/lib/llvm-12/lib/libclangTidyPlugin.a
/usr/lib/llvm-12/lib/libclangHandleLLVM.a          /usr/lib/llvm-12/lib/libclangTidyPortabilityModule.a
/usr/lib/llvm-12/lib/libclangIncludeFixer.a        /usr/lib/llvm-12/lib/libclangTidyReadabilityModule.a
/usr/lib/llvm-12/lib/libclangIncludeFixerPlugin.a  /usr/lib/llvm-12/lib/libclangTidyUtils.a
/usr/lib/llvm-12/lib/libclangIndex.a               /usr/lib/llvm-12/lib/libclangTidyZirconModule.a
/usr/lib/llvm-12/lib/libclangIndexSerialization.a  /usr/lib/llvm-12/lib/libclangTooling.a
/usr/lib/llvm-12/lib/libclangLex.a                 /usr/lib/llvm-12/lib/libclangToolingASTDiff.a
/usr/lib/llvm-12/lib/libclangMove.a                /usr/lib/llvm-12/lib/libclangToolingCore.a
/usr/lib/llvm-12/lib/libclangParse.a               /usr/lib/llvm-12/lib/libclangToolingInclusions.a
/usr/lib/llvm-12/lib/libclangQuery.a               /usr/lib/llvm-12/lib/libclangToolingRefactoring.a
/usr/lib/llvm-12/lib/libclangReorderFields.a       /usr/lib/llvm-12/lib/libclangToolingSyntax.a
/usr/lib/llvm-12/lib/libclangRewrite.a             /usr/lib/llvm-12/lib/libclangTransformer.a
/usr/lib/llvm-12/lib/libclangRewriteFrontend.a     /usr/lib/llvm-12/lib/libclangdRemoteIndex.a
/usr/lib/llvm-12/lib/libclangSema.a                /usr/lib/llvm-12/lib/libclangdSupport.a
/usr/lib/llvm-12/lib/libclangSerialization.a

@tetzank
Copy link

tetzank commented May 1, 2022

The static libraries are not part of the package clang in ArchLinux. There are only the shared libraries libclang.so and libclang-cpp.so. Linking just against libclang.so works.

@mortymacs
Copy link
Author

The static libraries are not part of the package clang in ArchLinux. There are only the shared libraries libclang.so and libclang-cpp.so. Linking just against libclang.so works.

So, what you've changed to get it compiled?

@tetzank
Copy link

tetzank commented May 1, 2022

I removed all the extra static libraries from the linking configuration.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index fa503f4..25d127a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -132,23 +132,6 @@ target_link_libraries(fccf_exe PRIVATE fccf_lib
   fmt::fmt
   ${LLVM_LIBRARIES}
   clang
-  clangTooling
-  clangFrontendTool
-  clangFrontend
-  clangDriver
-  clangSerialization
-  clangCodeGen
-  clangParse
-  clangSema
-  clangStaticAnalyzerFrontend
-  clangStaticAnalyzerCheckers
-  clangStaticAnalyzerCore
-  clangAnalysis
-  clangARCMigrate
-  clangEdit
-  clangAST
-  clangLex
-  clangBasic
   )
 
 # ---- Install rules ----

@p-ranav
Copy link
Owner

p-ranav commented May 1, 2022

I've made this update (here 0c8504c) since these are unnecessary in Ubuntu as well.

Thanks @tetzank. Hope it works for you @mortymacs.

@mortymacs
Copy link
Author

Thanks, @tetzank, and @p-ranav !
Awesome! it works fine!
@p-ranav would you please release it? because I wanna create the AUR package for your project :)

@p-ranav
Copy link
Owner

p-ranav commented May 2, 2022

Released here: https://github.com/p-ranav/fccf/releases/tag/v0.6.0

Cheers

@mortymacs
Copy link
Author

Thanks!
The AUR package is ready https://aur.archlinux.org/packages/fccf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants