Issue 153330
Summary Win11 LLVM Static Source build fails to compile due to missing libclang_static
Labels new issue
Assignees
Reporter ZeunO8
    Hi there, I have been trying to get latest `main` compiled as static libraries and running into an error in the last 5% of the build.

```
[6/7] Linking CXX executable bin\c-index-test.exe
FAILED: bin/c-index-test.exe
C:\WINDOWS\system32\cmd.exe /C "cd . && C:\PROGRA~1\LLVM-2~1.7\bin\CLANG_~1.EXE -nostartfiles -nostdlib -Werror=date-time -Werror=unguarded-availability-new -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt -static -fno-pie -Xlinker /subsystem:console  -Wl,--gc-sections  -fuse-ld=lld-link tools/clang/tools/c-index-test/CMakeFiles/c-index-test.dir/c-index-test.c.obj tools/clang/tools/c-index-test/CMakeFiles/c-index-test.dir/core_main.cpp.obj -o bin\c-index-test.exe -Xlinker /MANIFEST:EMBED -Xlinker /implib:lib\c-index-test.lib -Xlinker /pdb:bin\c-index-test.pdb -Xlinker /version:0.0   lib/LLVMSupport.lib  -llibclang_static.lib  lib/clangCodeGen.lib  lib/clangIndex.lib  lib/LLVMCoverage.lib  lib/LLVMFrontendDriver.lib  lib/LLVMLTO.lib  lib/LLVMExtensions.lib  lib/LLVMPasses.lib  lib/LLVMCoroutines.lib  lib/LLVMHipStdPar.lib  lib/LLVMipo.lib  lib/LLVMLinker.lib  lib/LLVMIRPrinter.lib  lib/LLVMInstrumentation.lib  lib/LLVMVectorize.lib  lib/LLVMSandboxIR.lib  lib/LLVMCFGuard.lib  lib/LLVMGlobalISel.lib  lib/LLVMSelectionDAG.lib  lib/LLVMCodeGen.lib  lib/LLVMCodeGenTypes.lib  lib/LLVMObjCARCOpts.lib  lib/LLVMCGData.lib  lib/LLVMBitWriter.lib  lib/LLVMTarget.lib  lib/clangFrontend.lib  lib/clangDriver.lib  -lversion.lib  lib/LLVMWindowsDriver.lib  lib/clangParse.lib  lib/LLVMOption.lib  lib/clangSerialization.lib  lib/clangFormat.lib  lib/clangToolingInclusions.lib  lib/clangSema.lib  lib/clangAnalysis.lib  lib/clangASTMatchers.lib  lib/clangAPINotes.lib  lib/clangEdit.lib  lib/clangAST.lib  lib/clangSupport.lib  lib/clangToolingCore.lib  lib/clangRewrite.lib  lib/clangLex.lib  lib/clangBasic.lib  lib/LLVMFrontendOpenMP.lib  lib/LLVMFrontendOffloading.lib  lib/LLVMObjectYAML.lib  lib/LLVMScalarOpts.lib  lib/LLVMAggressiveInstCombine.lib  lib/LLVMInstCombine.lib  lib/LLVMTransformUtils.lib  lib/LLVMFrontendAtomic.lib  lib/LLVMAnalysis.lib  lib/LLVMFrontendHLSL.lib  lib/LLVMProfileData.lib  lib/LLVMSymbolize.lib  lib/LLVMDebugInfoGSYM.lib  lib/LLVMDebugInfoPDB.lib  lib/LLVMDebugInfoCodeView.lib  lib/LLVMDebugInfoMSF.lib  lib/LLVMDebugInfoBTF.lib  lib/LLVMDebugInfoDWARF.lib  lib/LLVMObject.lib  lib/LLVMIRReader.lib  lib/LLVMBitReader.lib  lib/LLVMAsmParser.lib  lib/LLVMMCParser.lib  lib/LLVMMC.lib  lib/LLVMTextAPI.lib  lib/LLVMDebugInfoDWARFLowLevel.lib  lib/LLVMCore.lib  lib/LLVMBinaryFormat.lib  lib/LLVMRemarks.lib  lib/LLVMBitstreamReader.lib  lib/LLVMFrontendDirective.lib  lib/LLVMTargetParser.lib  -lpsapi.lib  -lshell32.lib  -lole32.lib  -luuid.lib  -ladvapi32.lib  -lws2_32.lib  -lntdll.lib  lib/LLVMDemangle.lib  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -loldnames  && cd ."
lld-link: warning: ignoring unknown argument '--gc-sections'
lld-link: error: could not open 'libclang_static.lib': no such file or directory
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
```

specifically: `could not open 'libclang_static.lib': no such file`

Now after some investigation, `llvm-project\clang\tools\c-index-test\CMakeLists.txt` Line 20 `libclang_static` can be changed to `libclang` and the build will succeed. However I'm not sure this is the best approach. `libclang_static` isn't a target as I'm only building `STATIC` not `SHARED`.

I'm sure there is a simple fix for this so will leave it up to llvm project developers to resolve 😸 
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to