Description
Summary
I am currently on a Linux server where I can build LLVM+LLD from source, but fail to do so as part of rust's bootstrap. I gave both commands below. When diffing the CMakeCache.txt files between both builds, I see one obvious differences, which is the
BUILD_SHARED_LIBS
variable, which is on when building manually, and off if I check
rust/build/x86_64_unknown-linux-gnu/llvm/build/CMakeCache.txt
The failure happens when building LLD, where rust bootstrap process failes due to a missing file.
So there likely is a bug in LLVM's CMake. However, digging deeper I wonder why I get a static llvm build.
Command used
configure-args = ['--enable-llvm-link-shared', '--enable-llvm-plugins', '--enable-llvm-enzyme', '--release-channel=nightly', '--enable-llvm-assertions', '--enable-clang', '--enable-lld', '--enable-option-checking', '--enable-ninja', '--disable-docs']
./x.py build --stage 1 library
Expected behaviour
I see a libLLVM.so
Actual behaviour
ls build/x86_64-unknown-linux-gnu/llvm/lib
clang libclangToolingCore.a libLLVMBPFInfo.a libLLVMFuzzerCLI.a libLLVMMSP430Desc.a libLLVMSymbolize.a
cmake libclangToolingInclusions.a libLLVMCFGuard.a libLLVMFuzzMutate.a libLLVMMSP430Disassembler.a libLLVMSystemZAsmParser.a
libclangAnalysis.a libclangToolingInclusionsStdlib.a libLLVMCFIVerify.a libLLVMGlobalISel.a libLLVMMSP430Info.a libLLVMSystemZCodeGen.a
libclangAnalysisFlowSensitive.a libclangToolingRefactoring.a libLLVMCGData.a libLLVMHexagonAsmParser.a libLLVMNVPTXCodeGen.a libLLVMSystemZDesc.a
libclangAnalysisFlowSensitiveModels.a libclangToolingSyntax.a libLLVMCodeGen.a libLLVMHexagonCodeGen.a libLLVMNVPTXDesc.a libLLVMSystemZDisassembler.a
libclangAPINotes.a libclangTransformer.a libLLVMCodeGenTypes.a libLLVMHexagonDesc.a libLLVMNVPTXInfo.a libLLVMSystemZInfo.a
libclangARCMigrate.a libear libLLVMCore.a libLLVMHexagonDisassembler.a libLLVMObjCARCOpts.a libLLVMTableGen.a
libclangAST.a libLLVM-20-rust-1.89.0-nightly.so libLLVMCoroutines.a libLLVMHexagonInfo.a libLLVMObjCopy.a libLLVMTableGenBasic.a
libclangASTMatchers.a libLLVMAArch64AsmParser.a libLLVMCoverage.a libLLVMHipStdPar.a libLLVMObject.a libLLVMTableGenCommon.a
libclangBasic.a libLLVMAArch64CodeGen.a libLLVMCSKYAsmParser.a libLLVMInstCombine.a libLLVMObjectYAML.a libLLVMTarget.a
libclangCodeGen.a libLLVMAArch64Desc.a libLLVMCSKYCodeGen.a libLLVMInstrumentation.a libLLVMOffload.so libLLVMTargetParser.a
libclang-cpp.so libLLVMAArch64Disassembler.a libLLVMCSKYDesc.a libLLVMInterfaceStub.a libLLVMOffload.so.20.1-rust-1.89.0-nightly libLLVMTelemetry.a
libclang-cpp.so.20.1-rust-1.89.0-nightly libLLVMAArch64Info.a libLLVMCSKYDisassembler.a libLLVMInterpreter.a libLLVMOptDriver.a libLLVMTextAPI.a
libclangCrossTU.a libLLVMAArch64Utils.a libLLVMCSKYInfo.a libLLVMipo.a libLLVMOption.a libLLVMTextAPIBinaryReader.a
libclangDependencyScanning.a libLLVMAggressiveInstCombine.a libLLVMDebugInfoBTF.a libLLVMIRPrinter.a libLLVMOrcDebugging.a libLLVMTransformUtils.a
libclangDirectoryWatcher.a libLLVMAMDGPUAsmParser.a libLLVMDebugInfoCodeView.a libLLVMIRReader.a libLLVMOrcJIT.a libLLVMVectorize.a
libclangDriver.a libLLVMAMDGPUCodeGen.a libLLVMDebuginfod.a libLLVMJITLink.a libLLVMOrcShared.a libLLVMWebAssemblyAsmParser.a
libclangDynamicASTMatchers.a libLLVMAMDGPUDesc.a libLLVMDebugInfoDWARF.a libLLVMLibDriver.a libLLVMOrcTargetProcess.a libLLVMWebAssemblyCodeGen.a
libclangEdit.a libLLVMAMDGPUDisassembler.a libLLVMDebugInfoGSYM.a libLLVMLineEditor.a libLLVMPasses.a libLLVMWebAssemblyDesc.a
libclangExtractAPI.a libLLVMAMDGPUInfo.a libLLVMDebugInfoLogicalView.a libLLVMLinker.a libLLVMPowerPCAsmParser.a libLLVMWebAssemblyDisassembler.a
libclangFormat.a libLLVMAMDGPUTargetMCA.a libLLVMDebugInfoMSF.a libLLVMLoongArchAsmParser.a libLLVMPowerPCCodeGen.a libLLVMWebAssemblyInfo.a
libclangFrontend.a libLLVMAMDGPUUtils.a libLLVMDebugInfoPDB.a libLLVMLoongArchCodeGen.a libLLVMPowerPCDesc.a libLLVMWebAssemblyUtils.a
libclangFrontendTool.a libLLVMAnalysis.a libLLVMDemangle.a libLLVMLoongArchDesc.a libLLVMPowerPCDisassembler.a libLLVMWindowsDriver.a
libclangHandleCXX.a libLLVMARMAsmParser.a libLLVMDiff.a libLLVMLoongArchDisassembler.a libLLVMPowerPCInfo.a libLLVMWindowsManifest.a
libclangHandleLLVM.a libLLVMARMCodeGen.a libLLVMDlltoolDriver.a libLLVMLoongArchInfo.a libLLVMProfileData.a libLLVMX86AsmParser.a
libclangIndex.a libLLVMARMDesc.a libLLVMDWARFLinker.a libLLVMLTO.a libLLVMRemarks.a libLLVMX86CodeGen.a
libclangIndexSerialization.a libLLVMARMDisassembler.a libLLVMDWARFLinkerClassic.a libLLVMM68kAsmParser.a libLLVMRISCVAsmParser.a libLLVMX86Desc.a
libclangInstallAPI.a libLLVMARMInfo.a libLLVMDWARFLinkerParallel.a libLLVMM68kCodeGen.a libLLVMRISCVCodeGen.a libLLVMX86Disassembler.a
libclangInterpreter.a libLLVMARMUtils.a libLLVMDWP.a libLLVMM68kDesc.a libLLVMRISCVDesc.a libLLVMX86Info.a
libclangLex.a libLLVMAsmParser.a libLLVMExecutionEngine.a libLLVMM68kDisassembler.a libLLVMRISCVDisassembler.a libLLVMX86TargetMCA.a
libclangParse.a libLLVMAsmPrinter.a libLLVMExegesis.a libLLVMM68kInfo.a libLLVMRISCVInfo.a libLLVMXRay.a
libclangRewrite.a libLLVMAVRAsmParser.a libLLVMExegesisAArch64.a libLLVMMC.a libLLVMRISCVTargetMCA.a libLLVMXtensaAsmParser.a
libclangRewriteFrontend.a libLLVMAVRCodeGen.a libLLVMExegesisMips.a libLLVMMCA.a libLLVMRuntimeDyld.a libLLVMXtensaCodeGen.a
libclangSema.a libLLVMAVRDesc.a libLLVMExegesisPowerPC.a libLLVMMCDisassembler.a libLLVMSandboxIR.a libLLVMXtensaDesc.a
libclangSerialization.a libLLVMAVRDisassembler.a libLLVMExegesisRISCV.a libLLVMMCJIT.a libLLVMScalarOpts.a libLLVMXtensaDisassembler.a
libclang.so libLLVMAVRInfo.a libLLVMExegesisX86.a libLLVMMCParser.a libLLVMSelectionDAG.a libLLVMXtensaInfo.a
libclang.so.20.1.7-rust-1.89.0-nightly libLLVMBinaryFormat.a libLLVMExtensions.a libLLVMMipsAsmParser.a libLLVM.so libLTO.so
libclang.so.20.1-rust-1.89.0-nightly libLLVMBitReader.a libLLVMFileCheck.a libLLVMMipsCodeGen.a libLLVM.so.20.1-rust-1.89.0-nightly libLTO.so.20.1-rust-1.89.0-nightly
libclangStaticAnalyzerCheckers.a libLLVMBitstreamReader.a libLLVMFrontendAtomic.a libLLVMMipsDesc.a libLLVMSparcAsmParser.a libRemarks.so
libclangStaticAnalyzerCore.a libLLVMBitWriter.a libLLVMFrontendDriver.a libLLVMMipsDisassembler.a libLLVMSparcCodeGen.a libRemarks.so.20.1-rust-1.89.0-nightly
libclangStaticAnalyzerFrontend.a libLLVMBPFAsmParser.a libLLVMFrontendHLSL.a libLLVMMipsInfo.a libLLVMSparcDesc.a libscanbuild
libclangSupport.a libLLVMBPFCodeGen.a libLLVMFrontendOffloading.a libLLVMMIRParser.a libLLVMSparcDisassembler.a x86_64-unknown-linux-gnu
libclangTooling.a libLLVMBPFDesc.a libLLVMFrontendOpenACC.a libLLVMMSP430AsmParser.a libLLVMSparcInfo.a
libclangToolingASTDiff.a libLLVMBPFDisassembler.a libLLVMFrontendOpenMP.a libLLVMMSP430CodeGen.a libLLVMSupport.a
For comparison, if I build the same LLVM commit with the command below by hand, it succeeds and I get
ls lib
Analysis libclangFrontendTool.so.20.1 libLLVMAMDGPUAsmParser.so libLLVMDWARFLinkerClassic.so libLLVMMCA.so libLLVMTarget.so
AsmParser libclangHandleCXX.so libLLVMAMDGPUAsmParser.so.20.1 libLLVMDWARFLinkerClassic.so.20.1 libLLVMMCA.so.20.1 libLLVMTarget.so.20.1
BinaryFormat libclangHandleCXX.so.20.1 libLLVMAMDGPUCodeGen.so libLLVMDWARFLinkerParallel.so libLLVMMCDisassembler.so libLLVMTelemetry.so
Bitcode libclangHandleLLVM.so libLLVMAMDGPUCodeGen.so.20.1 libLLVMDWARFLinkerParallel.so.20.1 libLLVMMCDisassembler.so.20.1 libLLVMTelemetry.so.20.1
Bitstream libclangHandleLLVM.so.20.1 libLLVMAMDGPUDesc.so libLLVMDWARFLinker.so libLLVMMCJIT.so libLLVMTextAPIBinaryReader.so
BugpointPasses.so libclangIndexSerialization.so libLLVMAMDGPUDesc.so.20.1 libLLVMDWARFLinker.so.20.1 libLLVMMCJIT.so.20.1 libLLVMTextAPIBinaryReader.so.20.1
CGData libclangIndexSerialization.so.20.1 libLLVMAMDGPUDisassembler.so libLLVMDWP.so libLLVMMCParser.so libLLVMTextAPI.so
CheckerDependencyHandlingAnalyzerPlugin.so libclangIndex.so libLLVMAMDGPUDisassembler.so.20.1 libLLVMDWP.so.20.1 libLLVMMCParser.so.20.1 libLLVMTextAPI.so.20.1
CheckerOptionHandlingAnalyzerPlugin.so libclangIndex.so.20.1 libLLVMAMDGPUInfo.so libLLVMExecutionEngine.so libLLVMMC.so libLLVMTransformUtils.so
clang libclangInstallAPI.so libLLVMAMDGPUInfo.so.20.1 libLLVMExecutionEngine.so.20.1 libLLVMMC.so.20.1 libLLVMTransformUtils.so.20.1
cmake libclangInstallAPI.so.20.1 libLLVMAMDGPUTargetMCA.so libLLVMExegesis.so libLLVMMIRParser.so libLLVMVectorize.so
CMakeFiles libclangInterpreter.so libLLVMAMDGPUTargetMCA.so.20.1 libLLVMExegesis.so.20.1 libLLVMMIRParser.so.20.1 libLLVMVectorize.so.20.1
cmake_install.cmake libclangInterpreter.so.20.1 libLLVMAMDGPUUtils.so libLLVMExegesis_static.a libLLVMNVPTXCodeGen.so libLLVMWindowsDriver.so
CodeGen libclangLex.so libLLVMAMDGPUUtils.so.20.1 libLLVMExegesisX86.so libLLVMNVPTXCodeGen.so.20.1 libLLVMWindowsDriver.so.20.1
CodeGenTypes libclangLex.so.20.1 libLLVMAnalysis.so libLLVMExegesisX86.so.20.1 libLLVMNVPTXDesc.so libLLVMWindowsManifest.so
DebugInfo libclangParse.so libLLVMAnalysis.so.20.1 libLLVMExegesisX86_static.a libLLVMNVPTXDesc.so.20.1 libLLVMWindowsManifest.so.20.1
Debuginfod libclangParse.so.20.1 libLLVMAsmParser.so libLLVMExtensions.so libLLVMNVPTXInfo.so libLLVMX86AsmParser.so
Demangle libclangRewriteFrontend.so libLLVMAsmParser.so.20.1 libLLVMExtensions.so.20.1 libLLVMNVPTXInfo.so.20.1 libLLVMX86AsmParser.so.20.1
DWARFLinker libclangRewriteFrontend.so.20.1 libLLVMAsmPrinter.so libLLVMFileCheck.so libLLVMObjCARCOpts.so libLLVMX86CodeGen.so
DWP libclangRewrite.so libLLVMAsmPrinter.so.20.1 libLLVMFileCheck.so.20.1 libLLVMObjCARCOpts.so.20.1 libLLVMX86CodeGen.so.20.1
ExecutionEngine libclangRewrite.so.20.1 libLLVMBinaryFormat.so libLLVMFrontendAtomic.so libLLVMObjCopy.so libLLVMX86Desc.so
Extensions libclangSema.so libLLVMBinaryFormat.so.20.1 libLLVMFrontendAtomic.so.20.1 libLLVMObjCopy.so.20.1 libLLVMX86Desc.so.20.1
FileCheck libclangSema.so.20.1 libLLVMBitReader.so libLLVMFrontendDriver.so libLLVMObject.so libLLVMX86Disassembler.so
Frontend libclangSerialization.so libLLVMBitReader.so.20.1 libLLVMFrontendDriver.so.20.1 libLLVMObject.so.20.1 libLLVMX86Disassembler.so.20.1
FuzzMutate libclangSerialization.so.20.1 libLLVMBitstreamReader.so libLLVMFrontendHLSL.so libLLVMObjectYAML.so libLLVMX86Info.so
InterfaceStub libclang.so libLLVMBitstreamReader.so.20.1 libLLVMFrontendHLSL.so.20.1 libLLVMObjectYAML.so.20.1 libLLVMX86Info.so.20.1
IR libclang.so.20.1 libLLVMBitWriter.so libLLVMFrontendOffloading.so libLLVMOffload.so libLLVMX86TargetMCA.so
IRPrinter libclang.so.20.1.5 libLLVMBitWriter.so.20.1 libLLVMFrontendOffloading.so.20.1 libLLVMOffload.so.20.1 libLLVMX86TargetMCA.so.20.1
IRReader libclangStaticAnalyzerCheckers.so libLLVMCFGuard.so libLLVMFrontendOpenACC.so libLLVMOptDriver.so libLLVMXRay.so
libclangAnalysisFlowSensitiveModels.so libclangStaticAnalyzerCheckers.so.20.1 libLLVMCFGuard.so.20.1 libLLVMFrontendOpenACC.so.20.1 libLLVMOptDriver.so.20.1 libLLVMXRay.so.20.1
libclangAnalysisFlowSensitiveModels.so.20.1 libclangStaticAnalyzerCore.so libLLVMCFIVerify.so libLLVMFrontendOpenMP.so libLLVMOptDriver_static.a libLTO.so
libclangAnalysisFlowSensitive.so libclangStaticAnalyzerCore.so.20.1 libLLVMCFIVerify.so.20.1 libLLVMFrontendOpenMP.so.20.1 libLLVMOption.so libLTO.so.20.1
libclangAnalysisFlowSensitive.so.20.1 libclangStaticAnalyzerFrontend.so libLLVMCFIVerify_static.a libLLVMFuzzerCLI.so libLLVMOption.so.20.1 libomptarget.devicertl.a
libclangAnalysis.so libclangStaticAnalyzerFrontend.so.20.1 libLLVMCGData.so libLLVMFuzzerCLI.so.20.1 libLLVMOrcDebugging.so libomptarget.rtl.amdgpu.a
libclangAnalysis.so.20.1 libclangSupport.so libLLVMCGData.so.20.1 libLLVMFuzzMutate.so libLLVMOrcDebugging.so.20.1 libomptarget.so
libclangAPINotes.so libclangSupport.so.20.1 libLLVMCodeGen.so libLLVMFuzzMutate.so.20.1 libLLVMOrcJIT.so libomptarget.so.20.1
libclangAPINotes.so.20.1 libclangToolingASTDiff.so libLLVMCodeGen.so.20.1 libLLVMGlobalISel.so libLLVMOrcJIT.so.20.1 libRemarks.so
libclangARCMigrate.so libclangToolingASTDiff.so.20.1 libLLVMCodeGenTypes.so libLLVMGlobalISel.so.20.1 libLLVMOrcShared.so libRemarks.so.20.1
libclangARCMigrate.so.20.1 libclangToolingCore.so libLLVMCodeGenTypes.so.20.1 libllvm_gtest_main.so libLLVMOrcShared.so.20.1 libRTScudoCUnitTest.x86_64.a
libclangASTMatchers.so libclangToolingCore.so.20.1 libLLVMCore.so libllvm_gtest_main.so.20.1 libLLVMOrcTargetProcess.so libRTScudoCxxUnitTest.x86_64.a
libclangASTMatchers.so.20.1 libclangToolingInclusions.so libLLVMCore.so.20.1 libllvm_gtest.so libLLVMOrcTargetProcess.so.20.1 libRTScudoUnitTest.x86_64.a
libclangAST.so libclangToolingInclusions.so.20.1 libLLVMCoroutines.so libllvm_gtest.so.20.1 libLLVMPasses.so libscanbuild
libclangAST.so.20.1 libclangToolingInclusionsStdlib.so libLLVMCoroutines.so.20.1 libLLVMHipStdPar.so libLLVMPasses.so.20.1 LineEditor
libclangBasic.so libclangToolingInclusionsStdlib.so.20.1 libLLVMCoverage.so libLLVMHipStdPar.so.20.1 libLLVMProfileData.so Linker
libclangBasic.so.20.1 libclangToolingRefactoring.so libLLVMCoverage.so.20.1 libLLVMInstCombine.so libLLVMProfileData.so.20.1 LTO
libclangCodeGen.so libclangToolingRefactoring.so.20.1 libLLVMDebugInfoBTF.so libLLVMInstCombine.so.20.1 libLLVMRemarks.so MC
libclangCodeGen.so.20.1 libclangTooling.so libLLVMDebugInfoBTF.so.20.1 libLLVMInstrumentation.so libLLVMRemarks.so.20.1 MCA
libclang-cpp.so libclangTooling.so.20.1 libLLVMDebugInfoCodeView.so libLLVMInstrumentation.so.20.1 libLLVMRuntimeDyld.so ObjCopy
libclang-cpp.so.20.1 libclangToolingSyntax.so libLLVMDebugInfoCodeView.so.20.1 libLLVMInterfaceStub.so libLLVMRuntimeDyld.so.20.1 Object
libclangCrossTU.so libclangToolingSyntax.so.20.1 libLLVMDebuginfod.so libLLVMInterfaceStub.so.20.1 libLLVMSandboxIR.so ObjectYAML
libclangCrossTU.so.20.1 libclangTransformer.so libLLVMDebuginfod.so.20.1 libLLVMInterpreter.so libLLVMSandboxIR.so.20.1 Option
libclangDependencyScanning.so libclangTransformer.so.20.1 libLLVMDebugInfoDWARF.so libLLVMInterpreter.so.20.1 libLLVMScalarOpts.so Passes
libclangDependencyScanning.so.20.1 libDynamicLibraryLib.a libLLVMDebugInfoDWARF.so.20.1 libLLVMipo.so libLLVMScalarOpts.so.20.1 ProfileData
libclangDirectoryWatcher.so libear libLLVMDebugInfoGSYM.so libLLVMipo.so.20.1 libLLVMSelectionDAG.so Remarks
libclangDirectoryWatcher.so.20.1 liblldCOFF.so libLLVMDebugInfoGSYM.so.20.1 libLLVMIRPrinter.so libLLVMSelectionDAG.so.20.1 SampleAnalyzerPlugin.so
libclangDriver.so liblldCOFF.so.20.1 libLLVMDebugInfoLogicalView.so libLLVMIRPrinter.so.20.1 libLLVMSupport.so SandboxIR
libclangDriver.so.20.1 liblldCommon.so libLLVMDebugInfoLogicalView.so.20.1 libLLVMIRReader.so libLLVMSupport.so.20.1 Support
libclangDynamicASTMatchers.so liblldCommon.so.20.1 libLLVMDebugInfoMSF.so libLLVMIRReader.so.20.1 libLLVMSymbolize.so TableGen
libclangDynamicASTMatchers.so.20.1 liblldELF.so libLLVMDebugInfoMSF.so.20.1 libLLVMJITLink.so libLLVMSymbolize.so.20.1 Target
libclangEdit.so liblldELF.so.20.1 libLLVMDebugInfoPDB.so libLLVMJITLink.so.20.1 libLLVMTableGenBasic.so TargetParser
libclangEdit.so.20.1 liblldMachO.so libLLVMDebugInfoPDB.so.20.1 libLLVMLibDriver.so libLLVMTableGenBasic.so.20.1 Telemetry
libclangExtractAPI.so liblldMachO.so.20.1 libLLVMDemangle.so libLLVMLibDriver.so.20.1 libLLVMTableGenCommon.so Testing
libclangExtractAPI.so.20.1 liblldMinGW.so libLLVMDemangle.so.20.1 libLLVMLineEditor.so libLLVMTableGenCommon.so.20.1 TextAPI
libclangFormat.so liblldMinGW.so.20.1 libLLVMDiff.so libLLVMLineEditor.so.20.1 libLLVMTableGenCommon_static.a ToolDrivers
libclangFormat.so.20.1 liblldWasm.so libLLVMDiff.so.20.1 libLLVMLinker.so libLLVMTableGen.so Transforms
libclangFrontend.so liblldWasm.so.20.1 libLLVMDiff_static.a libLLVMLinker.so.20.1 libLLVMTableGen.so.20.1 WindowsDriver
libclangFrontend.so.20.1 libLLVMAggressiveInstCombine.so libLLVMDlltoolDriver.so libLLVMLTO.so libLLVMTargetParser.so WindowsManifest
libclangFrontendTool.so libLLVMAggressiveInstCombine.so.20.1 libLLVMDlltoolDriver.so.20.1 libLLVMLTO.so.20.1 libLLVMTargetParser.so.20.1 XRay
Bootstrap configuration (bootstrap.toml)
configure-args = ['--enable-llvm-link-shared', '--enable-llvm-plugins', '--enable-llvm-enzyme', '--release-channel=nightly', '--enable-llvm-assertions', '--enable-clang', '--enable-lld', '--enable-option-checking', '--enable-ninja', '--disable-docs']
Operating system
HEAD
rustc at c68340350c78eea402c4a85f8d9c1b7d3d607635
For LLVM, I have the current submodule checkout, so
commit ed6566573eb21b00a3f87815e14ff766fd56ef42 (grafted, HEAD)
Author: dianqk <[email protected]>
Date: Fri Jun 13 14:39:00 2025 +0800
Merge tag 'llvmorg-20.1.7' into rustc/20.1-2025-02-13
LLVM Release 20.1.7
Additional context
I need an LLD as part of my gpu offload project, so I just noticed.
As mentioned above, building LLVM from source works:
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLLVM_TARGETS_TO_BUILD="host;AMDGPU;NVPTX" \
-DLLVM_ENABLE_PROJECTS="clang;lld;compiler-rt" \
-DLLVM_ENABLE_RUNTIMES="openmp;offload" \
-DLLVM_ENABLE_PLUGINS=ON \
-DBUILD_SHARED_LIBS=ON \
-DLLVM_INSTALL_UTILS=ON \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_APPEND_VC_REV=OFF \
-DLLVM_ENABLE_BINDINGS=OFF \
-DLLVM_ENABLE_OCAMLDOC=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DLLVM_ENABLE_LLD=ON \
-DRUNTIMES_CMAKE_ARGS="-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx;-DLIBOMPTARGET_DLOPEN_PLUGINS='';-DLIBOMPTARGET_ENABLE_DEBUG=ON"
-B, -S, and --install-prefix
skipped due to containing my local paths.
Build Log
rust/src/llvm-project/lld/Common/DWARF.cpp:97:70: error: too many arguments to function call, expected 4, have 5
95 | if (lt->getFileLineInfoForAddress(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96 | {offset, sectionIndex}, false, nullptr,
97 | DILineInfoSpecifier::FileLineInfoKind::AbsoluteFilePath, info))
| ^~~~
/opt/rocm-6.4.0/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:269:10: note: 'getFileLineInfoForAddress' declared here
269 | bool getFileLineInfoForAddress(object::SectionedAddress Address,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
270 | const char *CompDir,
| ~~~~~~~~~~~~~~~~~~~~
271 | DILineInfoSpecifier::FileLineInfoKind Kind,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
272 | DILineInfo &Result) const;
| ~~~~~~~~~~~~~~~~~~
1 error generated.
I can provide the full error if wanted, but as said I should probably rather report that on the llvm side. This is about why I get a static build.