Skip to content

Building 0.11.0 release from source targeting x86_64-windows-msvc fails with uuid library not found error #16671

@Prcuvu

Description

@Prcuvu

Zig Version

0.11.0

Steps to Reproduce and Observed Behavior

  1. Build LLVM, LLD and Clang with MSVC
  2. Configure Zig with ZIG_HOST_TARGET_TRIPLE=x86_64-windows-msvc and ZIG_TARGET_TRIPLE=x86_64-windows-msvc
  3. Build Zig

Observed error log:

  Building stage3
zig build-exe zig ReleaseFast x86_64-windows-msvc : error : error: unable to find Dynamic system library 'uuid' using strategy 'paths_first'. searched paths: [\path\to\zig\repo\build\stage3.vcxproj]
    \path\to\llvm\lib\uuid.dll
    \path\to\llvm\lib\uuid.lib
    \path\to\llvm\lib\uuid.dll
    \path\to\llvm\lib\uuid.lib

zig build-exe zig ReleaseFast x86_64-windows-msvc : error : the following command exited with error code 1: [\path\to\zig\repo\build\stage3.vcxproj]
  \path\to\zig\repo\build\zig2.exe build-exe --stack 33554432 \path\to\zig\repo\src\main.zig \path\to\zig\repo\build\zigcpp\zigcpp.lib \path\to\llvm\lib\clangFrontendTool.lib \path\to\llvm\lib\clangCodeGen.lib \path\to\llvm\lib\clangFrontend.lib \path\to\llvm\lib\clangDriver.lib \path\to\llvm\lib\clangSerialization.lib \path\to\llvm\lib\clangSema.lib \path\to\llvm\lib\clangStaticAnalyzerFrontend.lib \path\to\llvm\lib\clangStaticAnalyzerCheckers.lib \path\to\llvm\lib\clangStaticAnalyzerCore.lib \path\to\llvm\lib\clangAnalysis.lib \path\to\llvm\lib\clangASTMatchers.lib \path\to\llvm\lib\clangAST.lib \path\to\llvm\lib\clangParse.lib \path\to\llvm\lib\clangSema.lib \path\to\llvm\lib\clangBasic.lib \path\to\llvm\lib\clangEdit.lib \path\to\llvm\lib\clangLex.lib \path\to\llvm\lib\clangARCMigrate.lib \path\to\llvm\lib\clangRewriteFrontend.lib \path\to\llvm\lib\clangRewrite.lib \path\to\llvm\lib\clangCrossTU.lib \path\to\llvm\lib\clangIndex.lib \path\to\llvm\lib\clangToolingCore.lib \path\to\llvm\lib\clangExtractAPI.lib \path\to\llvm\lib\clangSupport.lib -lversion \path\to\llvm\lib\lldMinGW.lib \path\to\llvm\lib\lldELF.lib \path\to\llvm\lib\lldCOFF.lib \path\to\llvm\lib\lldWasm.lib \path\to\llvm\lib\lldMachO.lib \path\to\llvm\lib\lldCommon.lib \path\to\llvm\lib\LLVMWindowsManifest.lib \path\to\llvm\lib\LLVMXRay.lib \path\to\llvm\lib\LLVMLibDriver.lib \path\to\llvm\lib\LLVMDlltoolDriver.lib \path\to\llvm\lib\LLVMCoverage.lib \path\to\llvm\lib\LLVMLineEditor.lib \path\to\llvm\lib\LLVMXCoreDisassembler.lib \path\to\llvm\lib\LLVMXCoreCodeGen.lib \path\to\llvm\lib\LLVMXCoreDesc.lib \path\to\llvm\lib\LLVMXCoreInfo.lib \path\to\llvm\lib\LLVMX86TargetMCA.lib \path\to\llvm\lib\LLVMX86Disassembler.lib \path\to\llvm\lib\LLVMX86AsmParser.lib \path\to\llvm\lib\LLVMX86CodeGen.lib \path\to\llvm\lib\LLVMX86Desc.lib \path\to\llvm\lib\LLVMX86Info.lib \path\to\llvm\lib\LLVMWebAssemblyDisassembler.lib \path\to\llvm\lib\LLVMWebAssemblyAsmParser.lib \path\to\llvm\lib\LLVMWebAssemblyCodeGen.lib \path\to\llvm\lib\LLVMWebAssemblyDesc.lib \path\to\llvm\lib\LLVMWebAssemblyUtils.lib \path\to\llvm\lib\LLVMWebAssemblyInfo.lib \path\to\llvm\lib\LLVMVEDisassembler.lib \path\to\llvm\lib\LLVMVEAsmParser.lib \path\to\llvm\lib\LLVMVECodeGen.lib \path\to\llvm\lib\LLVMVEDesc.lib \path\to\llvm\lib\LLVMVEInfo.lib \path\to\llvm\lib\LLVMSystemZDisassembler.lib \path\to\llvm\lib\LLVMSystemZAsmParser.lib \path\to\llvm\lib\LLVMSystemZCodeGen.lib \path\to\llvm\lib\LLVMSystemZDesc.lib \path\to\llvm\lib\LLVMSystemZInfo.lib \path\to\llvm\lib\LLVMSparcDisassembler.lib \path\to\llvm\lib\LLVMSparcAsmParser.lib \path\to\llvm\lib\LLVMSparcCodeGen.lib \path\to\llvm\lib\LLVMSparcDesc.lib \path\to\llvm\lib\LLVMSparcInfo.lib \path\to\llvm\lib\LLVMRISCVTargetMCA.lib \path\to\llvm\lib\LLVMRISCVDisassembler.lib \path\to\llvm\lib\LLVMRISCVAsmParser.lib \path\to\llvm\lib\LLVMRISCVCodeGen.lib \path\to\llvm\lib\LLVMRISCVDesc.lib \path\to\llvm\lib\LLVMRISCVInfo.lib \path\to\llvm\lib\LLVMPowerPCDisassembler.lib \path\to\llvm\lib\LLVMPowerPCAsmParser.lib \path\to\llvm\lib\LLVMPowerPCCodeGen.lib \path\to\llvm\lib\LLVMPowerPCDesc.lib \path\to\llvm\lib\LLVMPowerPCInfo.lib \path\to\llvm\lib\LLVMNVPTXCodeGen.lib \path\to\llvm\lib\LLVMNVPTXDesc.lib \path\to\llvm\lib\LLVMNVPTXInfo.lib \path\to\llvm\lib\LLVMMSP430Disassembler.lib \path\to\llvm\lib\LLVMMSP430AsmParser.lib \path\to\llvm\lib\LLVMMSP430CodeGen.lib \path\to\llvm\lib\LLVMMSP430Desc.lib \path\to\llvm\lib\LLVMMSP430Info.lib \path\to\llvm\lib\LLVMMipsDisassembler.lib \path\to\llvm\lib\LLVMMipsAsmParser.lib \path\to\llvm\lib\LLVMMipsCodeGen.lib \path\to\llvm\lib\LLVMMipsDesc.lib \path\to\llvm\lib\LLVMMipsInfo.lib \path\to\llvm\lib\LLVMLoongArchDisassembler.lib \path\to\llvm\lib\LLVMLoongArchAsmParser.lib \path\to\llvm\lib\LLVMLoongArchCodeGen.lib \path\to\llvm\lib\LLVMLoongArchDesc.lib \path\to\llvm\lib\LLVMLoongArchInfo.lib \path\to\llvm\lib\LLVMLanaiDisassembler.lib \path\to\llvm\lib\LLVMLanaiCodeGen.lib \path\to\llvm\lib\LLVMLanaiAsmParser.lib \path\to\llvm\lib\LLVMLanaiDesc.lib \path\to\llvm\lib\LLVMLanaiInfo.lib \path\to\llvm\lib\LLVMHexagonDisassembler.lib \path\to\llvm\lib\LLVMHexagonCodeGen.lib \path\to\llvm\lib\LLVMHexagonAsmParser.lib \path\to\llvm\lib\LLVMHexagonDesc.lib \path\to\llvm\lib\LLVMHexagonInfo.lib \path\to\llvm\lib\LLVMBPFDisassembler.lib \path\to\llvm\lib\LLVMBPFAsmParser.lib \path\to\llvm\lib\LLVMBPFCodeGen.lib \path\to\llvm\lib\LLVMBPFDesc.lib \path\to\llvm\lib\LLVMBPFInfo.lib \path\to\llvm\lib\LLVMAVRDisassembler.lib \path\to\llvm\lib\LLVMAVRAsmParser.lib \path\to\llvm\lib\LLVMAVRCodeGen.lib \path\to\llvm\lib\LLVMAVRDesc.lib \path\to\llvm\lib\LLVMAVRInfo.lib \path\to\llvm\lib\LLVMARMDisassembler.lib \path\to\llvm\lib\LLVMARMAsmParser.lib \path\to\llvm\lib\LLVMARMCodeGen.lib \path\to\llvm\lib\LLVMARMDesc.lib \path\to\llvm\lib\LLVMARMUtils.lib \path\to\llvm\lib\LLVMARMInfo.lib \path\to\llvm\lib\LLVMAMDGPUTargetMCA.lib \path\to\llvm\lib\LLVMAMDGPUDisassembler.lib \path\to\llvm\lib\LLVMAMDGPUAsmParser.lib \path\to\llvm\lib\LLVMAMDGPUCodeGen.lib \path\to\llvm\lib\LLVMAMDGPUDesc.lib \path\to\llvm\lib\LLVMAMDGPUUtils.lib \path\to\llvm\lib\LLVMAMDGPUInfo.lib \path\to\llvm\lib\LLVMAArch64Disassembler.lib \path\to\llvm\lib\LLVMAArch64AsmParser.lib \path\to\llvm\lib\LLVMAArch64CodeGen.lib \path\to\llvm\lib\LLVMAArch64Desc.lib \path\to\llvm\lib\LLVMAArch64Utils.lib \path\to\llvm\lib\LLVMAArch64Info.lib \path\to\llvm\lib\LLVMOrcJIT.lib \path\to\llvm\lib\LLVMWindowsDriver.lib \path\to\llvm\lib\LLVMMCJIT.lib \path\to\llvm\lib\LLVMJITLink.lib \path\to\llvm\lib\LLVMInterpreter.lib \path\to\llvm\lib\LLVMExecutionEngine.lib \path\to\llvm\lib\LLVMRuntimeDyld.lib \path\to\llvm\lib\LLVMOrcTargetProcess.lib \path\to\llvm\lib\LLVMOrcShared.lib \path\to\llvm\lib\LLVMDWP.lib \path\to\llvm\lib\LLVMDebugInfoLogicalView.lib \path\to\llvm\lib\LLVMDebugInfoGSYM.lib \path\to\llvm\lib\LLVMOption.lib \path\to\llvm\lib\LLVMObjectYAML.lib \path\to\llvm\lib\LLVMObjCopy.lib \path\to\llvm\lib\LLVMMCA.lib \path\to\llvm\lib\LLVMMCDisassembler.lib \path\to\llvm\lib\LLVMLTO.lib \path\to\llvm\lib\LLVMPasses.lib \path\to\llvm\lib\LLVMCFGuard.lib \path\to\llvm\lib\LLVMCoroutines.lib \path\to\llvm\lib\LLVMipo.lib \path\to\llvm\lib\LLVMVectorize.lib \path\to\llvm\lib\LLVMLinker.lib \path\to\llvm\lib\LLVMInstrumentation.lib \path\to\llvm\lib\LLVMFrontendOpenMP.lib \path\to\llvm\lib\LLVMFrontendOpenACC.lib \path\to\llvm\lib\LLVMFrontendHLSL.lib \path\to\llvm\lib\LLVMExtensions.lib \path\to\llvm\lib\LLVMDWARFLinkerParallel.lib \path\to\llvm\lib\LLVMDWARFLinker.lib \path\to\llvm\lib\LLVMGlobalISel.lib \path\to\llvm\lib\LLVMMIRParser.lib \path\to\llvm\lib\LLVMAsmPrinter.lib \path\to\llvm\lib\LLVMSelectionDAG.lib \path\to\llvm\lib\LLVMCodeGen.lib \path\to\llvm\lib\LLVMObjCARCOpts.lib \path\to\llvm\lib\LLVMIRPrinter.lib \path\to\llvm\lib\LLVMInterfaceStub.lib \path\to\llvm\lib\LLVMFileCheck.lib \path\to\llvm\lib\LLVMFuzzMutate.lib \path\to\llvm\lib\LLVMTarget.lib \path\to\llvm\lib\LLVMScalarOpts.lib \path\to\llvm\lib\LLVMInstCombine.lib \path\to\llvm\lib\LLVMAggressiveInstCombine.lib \path\to\llvm\lib\LLVMTransformUtils.lib \path\to\llvm\lib\LLVMBitWriter.lib \path\to\llvm\lib\LLVMAnalysis.lib \path\to\llvm\lib\LLVMProfileData.lib \path\to\llvm\lib\LLVMSymbolize.lib \path\to\llvm\lib\LLVMDebugInfoPDB.lib \path\to\llvm\lib\LLVMDebugInfoMSF.lib \path\to\llvm\lib\LLVMDebugInfoDWARF.lib \path\to\llvm\lib\LLVMObject.lib \path\to\llvm\lib\LLVMTextAPI.lib \path\to\llvm\lib\LLVMMCParser.lib \path\to\llvm\lib\LLVMIRReader.lib \path\to\llvm\lib\LLVMAsmParser.lib \path\to\llvm\lib\LLVMMC.lib \path\to\llvm\lib\LLVMDebugInfoCodeView.lib \path\to\llvm\lib\LLVMBitReader.lib \path\to\llvm\lib\LLVMFuzzerCLI.lib \path\to\llvm\lib\LLVMCore.lib \path\to\llvm\lib\LLVMRemarks.lib \path\to\llvm\lib\LLVMBitstreamReader.lib \path\to\llvm\lib\LLVMBinaryFormat.lib \path\to\llvm\lib\LLVMTargetParser.lib \path\to\llvm\lib\LLVMTableGen.lib \path\to\llvm\lib\LLVMSupport.lib \path\to\llvm\lib\LLVMDemangle.lib -lpsapi -lshell32 -lole32 -luuid -ladvapi32 -lversion -luuid -lole32 -lc -fstrip -OReleaseFast --cache-dir \path\to\zig\repo\zig-cache --global-cache-dir %LocalAppData%\zig --name zig -target x86_64-windows-msvc -mcpu ivybridge+aes --mod build_options::\path\to\zig\repo\zig-cache\c\262f959e9cf6f4df621caa6508578dde\options.zig --deps build_options -I \path\to\llvm\include -I \path\to\llvm\include -L \path\to\llvm\lib -L \path\to\llvm\lib -I \path\to\llvm\include --zig-lib-dir \path\to\zig\repo\lib --listen=- 
  Build Summary: 2/5 steps succeeded; 1 failed (disable with --summary none)
  install transitive failure
  +- install zig transitive failure
     +- zig build-exe zig ReleaseFast x86_64-windows-msvc failure

Expected Behavior

Build should succeed with no error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugObserved behavior contradicts documented or intended behaviorfrontendTokenization, parsing, AstGen, Sema, and Liveness.regressionIt worked in a previous version of Zig, but stopped working.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions