verona Failed to download md5 hash: "HTTP response code said error" C++

Getting the following error when trying to compile:

[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --build d:/prog/opensource/verona/build --config Debug --target ALL_BUILD -j 18 --
[build] Microsoft (R) Build Engine version 16.10.2+857e5a733 for .NET Framework
[build] Copyright (C) Microsoft Corporation. All rights reserved.
[build] 
[build]   Checking File Globs
[build]   Performing configure step for 'external'
[build]   -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
[build]   -- Install MLIR to D:/prog/opensource/verona/build/Debug/mlir
[build]   -- Detected GIT commit: 9f33943ee01
[build]   CMake Error at CMakeLists.txt:48 (message):
[build]     Failed to download md5 hash: "HTTP response code said error"
[build]   
[build]   
[build]   -- Configuring incomplete, errors occurred!
[build]   See also "D:/prog/opensource/verona/build/external-prefix/src/external-build/CMakeFiles/CMakeOutput.log".
[build] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB8066: Custom build for 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-configure.rule;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-build.rule;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-install.rule;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-test.rule;D:\prog\opensource\verona\build\CMakeFiles\ea6d645c57cffd326015be325d357025\external-complete.rule;D:\prog\opensource\verona\build\CMakeFiles\64a01962860693d6a54edd67e38e2742\external.rule' exited with code 1. [D:\prog\opensource\verona\build\external.vcxproj]
[build] Build finished with exit code 1

I'm looking to start contributing soon, but I kind of need a working compilation for that first.

Thank you!

Asked Oct 08 '21 14:10
avatar Yuhanun
Yuhanun

6 Answer:

Full output: ```batch PS D:\prog\opensource\verona\build> cmake .. -G "Visual Studio 16 2019" -A x64 -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042. -- The CXX compiler identification is MSVC 19.29.30038.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done 37/bin/Hostx64/x64/cl.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Download LLVM: ON CMake Warning at cmake/clangformat.cmake:18 (message): Call Stack (most recent call first): CMakeLists.txt:61 (clangformat_targets)

-- Generating copyright/license target -- Setting build type to 'Release' as none was specified. Test currently disabled veronac/features/compile-fail/bad-branch Test currently disabled veronac/features/run-pass/loop Test currently disabled veronac/features/run-pass/when Test currently disabled veronac/ir/compile-pass/loop-complexity -- Configuring done -- Generating done -- Build files have been written to: D:/prog/opensource/verona/build

PS D:\prog\opensource\verona\build> msbuild verona.sln /m /P:Configuration=Debug Microsoft (R) Build Engine version 16.10.2+857e5a733 for .NET Framework Copyright (C) Microsoft Corporation. All rights reserved.

Build started 7/19/2021 5:20:04 PM. 1>Project "D:\prog\opensource\verona\build\verona.sln" on node 1 (default targets). 1>ValidateSolutionConfiguration: Building solution configuration "Debug|x64". ValidateProjects: The project "ALLBUILD" is not selected for building in solution configuration "Debug|x64". The project "RUNTESTS" is not selected for building in solution configuration "Debug|x64". The project "check" is not selected for building in solution configuration "Debug|x64". The project "copyright" is not selected for building in solution configuration "Debug|x64". The project "update-dump" is not selected for building in solution configuration "Debug|x64". 1>Project "D:\prog\opensource\verona\build\verona.sln" (1) is building "D:\prog\opensource\verona\build\ZEROCHECK .vcxproj" (2) on node 1 (default targets). 2>PrepareForBuild: Creating directory "x64\Debug\ZEROCHECK\". Creating directory "x64\Debug\ZEROCHECK\ZEROCHECK.tlog\". InitializeBuildStatus: Creating "x64\Debug\ZEROCHECK\ZEROCHECK.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified. PreBuildEvent: Checking File Globs setlocal "C:\Program Files\CMake\bin\cmake.exe" -P D:/prog/opensource/verona/build/CMakeFiles/VerifyGlobs.cmake if %errorlevel% neq 0 goto :cmEnd :cmEnd endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone :cmErrorLevel exit /b %1 :cmDone if %errorlevel% neq 0 goto :VCEnd :VCEnd CustomBuild: Checking Build System FinalizeBuildStatus: Deleting file "x64\Debug\ZEROCHECK\ZEROCHECK.tlog\unsuccessfulbuild". Touching "x64\Debug\ZEROCHECK\ZEROCHECK.tlog\ZEROCHECK.lastbuildstate". 2>Done Building Project "D:\prog\opensource\verona\build\ZEROCHECK.vcxproj" (default targets). 1>Project "D:\prog\opensource\verona\build\verona.sln" (1) is building "D:\prog\opensource\verona\build\external.v cxproj.metaproj" (3) on node 1 (default targets). 3>Project "D:\prog\opensource\verona\build\external.vcxproj.metaproj" (3) is building "D:\prog\opensource\verona\b uild\external.vcxproj" (5) on node 2 (default targets). 5>PrepareForBuild: Creating directory "x64\Debug\external\". Creating directory "x64\Debug\external\external.tlog\". InitializeBuildStatus: Creating "x64\Debug\external\external.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified. ComputeCustomBuildOutput: Creating directory "D:\prog\opensource\verona\build\external-prefix\src\external-stamp\Debug\". Creating directory "D:\prog\opensource\verona\build\CMakeFiles\Debug\". CustomBuild: "The build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-download.r ule' depends on 'D:\PROG\OPENSOURCE\VERONA\BUILD\EXTERNAL-PREFIX\SRC\EXTERNAL-STAMP\DEBUG\EXTERNAL-MKDIR' whic h is produced by the build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\ext ernal-mkdir.rule'. The items cannot be built in parallel." "The build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-update.rul e' depends on 'D:\PROG\OPENSOURCE\VERONA\BUILD\EXTERNAL-PREFIX\SRC\EXTERNAL-STAMP\DEBUG\EXTERNAL-DOWNLOAD' whi ch is produced by the build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\ex ternal-download.rule'. The items cannot be built in parallel." "The build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-patch.rule ' depends on 'D:\PROG\OPENSOURCE\VERONA\BUILD\EXTERNAL-PREFIX\SRC\EXTERNAL-STAMP\DEBUG\EXTERNAL-UPDATE' which is produced by the build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\exter nal-update.rule'. The items cannot be built in parallel." "The build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-configure. rule' depends on 'D:\PROG\OPENSOURCE\VERONA\BUILD\EXTERNAL-PREFIX\SRC\EXTERNAL-STAMP\DEBUG\EXTERNAL-PATCH' whi ch is produced by the build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\ex ternal-patch.rule'. The items cannot be built in parallel." "The build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-build.rule ' depends on 'D:\PROG\OPENSOURCE\VERONA\BUILD\EXTERNAL-PREFIX\SRC\EXTERNAL-STAMP\DEBUG\EXTERNAL-CONFIGURE' whi ch is produced by the build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\ex ternal-configure.rule'. The items cannot be built in parallel." "The build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-install.ru le' depends on 'D:\PROG\OPENSOURCE\VERONA\BUILD\EXTERNAL-PREFIX\SRC\EXTERNAL-STAMP\DEBUG\EXTERNAL-BUILD' which is produced by the build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\exte rnal-build.rule'. The items cannot be built in parallel." "The build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-test.rule' depends on 'D:\PROG\OPENSOURCE\VERONA\BUILD\EXTERNAL-PREFIX\SRC\EXTERNAL-STAMP\DEBUG\EXTERNAL-INSTALL' which is produced by the build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\exter nal-install.rule'. The items cannot be built in parallel." "The build of 'D:\prog\opensource\verona\build\CMakeFiles\ea6d645c57cffd326015be325d357025\external-complete.r ule' depends on 'D:\PROG\OPENSOURCE\VERONA\BUILD\EXTERNAL-PREFIX\SRC\EXTERNAL-STAMP\DEBUG\EXTERNAL-INSTALL' wh ich is produced by the build of 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\e xternal-install.rule'. The items cannot be built in parallel." "The build of 'D:\prog\opensource\verona\build\CMakeFiles\64a01962860693d6a54edd67e38e2742\external.rule' depe nds on 'D:\PROG\OPENSOURCE\VERONA\BUILD\CMAKEFILES\DEBUG\EXTERNAL-COMPLETE' which is produced by the build of 'D:\prog\opensource\verona\build\CMakeFiles\ea6d645c57cffd326015be325d357025\external-complete.rule'. The item s cannot be built in parallel." Creating directories for 'external' No download step for 'external' No update step for 'external' No patch step for 'external' Performing configure step for 'external' -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042. -- The CXX compiler identification is MSVC 19.29.30038.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC /14.29.30037/bin/Hostx64/x64/cl.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Install MLIR to D:/prog/opensource/verona/build/Debug/mlir -- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.31.1.windows.1") -- Detected GIT commit: 9f33943ee01 CMake Error at CMakeLists.txt:48 (message): -- Configuring incomplete, errors occurred! See also "D:/prog/opensource/verona/build/external-prefix/src/external-build/CMakeFiles/CMakeOutput.log". Failed to download md5 hash: "HTTP response code said error"

 5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targ
   ets(241,5): error MSB8066: Custom build for 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1
   251d774f\external-mkdir.rule;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\externa
   l-download.rule;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-update.rule
   ;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-patch.rule;D:\prog\opensou
   rce\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-configure.rule;D:\prog\opensource\verona\b
   uild\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-build.rule;D:\prog\opensource\verona\build\CMakeFiles\
   7822e144ba28582b8f9217b1251d774f\external-install.rule;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba2858
   2b8f9217b1251d774f\external-test.rule;D:\prog\opensource\verona\build\CMakeFiles\ea6d645c57cffd326015be325d35702
   5\external-complete.rule;D:\prog\opensource\verona\build\CMakeFiles\64a01962860693d6a54edd67e38e2742\external.ru
   le' exited with code 1. [D:\prog\opensource\verona\build\external.vcxproj]
 5>Done Building Project "D:\prog\opensource\verona\build\external.vcxproj" (default targets) -- FAILED.
 3>Done Building Project "D:\prog\opensource\verona\build\external.vcxproj.metaproj" (default targets) -- FAILED.
 1>Done Building Project "D:\prog\opensource\verona\build\verona.sln" (default targets) -- FAILED.

Build FAILED.

   "D:\prog\opensource\verona\build\verona.sln" (default target) (1) ->
   "D:\prog\opensource\verona\build\external.vcxproj.metaproj" (default target) (3) ->
   "D:\prog\opensource\verona\build\external.vcxproj" (default target) (5) ->
   (CustomBuild target) ->
     C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.ta
   rgets(241,5): error MSB8066: Custom build for 'D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217
   b1251d774f\external-mkdir.rule;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\exter
   nal-download.rule;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-update.ru
   le;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-patch.rule;D:\prog\opens
   ource\verona\build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-configure.rule;D:\prog\opensource\verona
   \build\CMakeFiles\7822e144ba28582b8f9217b1251d774f\external-build.rule;D:\prog\opensource\verona\build\CMakeFile
   s\7822e144ba28582b8f9217b1251d774f\external-install.rule;D:\prog\opensource\verona\build\CMakeFiles\7822e144ba28
   582b8f9217b1251d774f\external-test.rule;D:\prog\opensource\verona\build\CMakeFiles\ea6d645c57cffd326015be325d357
   025\external-complete.rule;D:\prog\opensource\verona\build\CMakeFiles\64a01962860693d6a54edd67e38e2742\external.
   rule' exited with code 1. [D:\prog\opensource\verona\build\external.vcxproj]

0 Warning(s)
1 Error(s)

Time Elapsed 00:00:05.27```

1
Answered Jul 19 '21 at 15:20
avatar  of Yuhanun
Yuhanun

I have not seen this, but you can set VERONA_DOWNLOAD_LLVM to OFF to avoid Verona trying to download a pre-built LLVM. This will be much slower (about 10-20 minutes on a 10-core Xeon) but does not depend on grabbing a pre-built LLVM from CI.

I'm not sure if anyone is testing building with msbuild. If you add -G Ninja to your CMake invocation then it will generate Ninja build files, which tend to be faster. It looks as if the Windows LLVM builds from our CI use Ninja so you may be hitting problems because you can't drop a Ninja LLVM completed build into an msbuild partial build. Does it build for you if you use Ninja instead of msbuild?

1
Answered Jul 19 '21 at 16:18
avatar  of davidchisnall
davidchisnall

I get this

PS D:\prog\opensource\verona\build> cmake .. -DVERONA-DOWNLOAD_LLVM=OFF -G 'Ninja'
CMake Error at CMakeLists.txt:3 (project):
  Generator

    Ninja

  does not support platform specification, but platform

    x64

  was specified.


CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
See also "D:/prog/opensource/verona/build/CMakeFiles/CMakeOutput.log".

Same issue if i add -A x64

1
Answered Jul 19 '21 at 16:23
avatar  of Yuhanun
Yuhanun

You're building a debug version and we don't have debug blobs for LLVM.

On both Linux and Mac, debug versions of a program can link release versions of its libraries, but on Windows, the object files are different and cannot be linked.

For that reason, in our CI, we have two Windows builds: Release and RelWithDebInfo, but not a Debug version. In general, if you just want to work on Verona, using RelWithDebInfo should be more than enough.

We have removed the debug versions of LLVM on CI because it's huge and the builders we have doesn't have enough disk to keep them and a full Verona debug build.

And normally, you only need a debug version of LLVM if you're working on the LLVM side of Verona, in which case you probably already have a debug build of it lying somewhere that you can just reuse without having to download or re-build.

Hope this helps.

1
Answered Jul 20 '21 at 11:37
avatar  of rengolin
rengolin

Would you be okay with me setting up a devcontainer for windows users to be able to develop on Linux and pull-requesting it?

I'd love to get a full debug so I don't have to worry about lines being optimized out during the development process.

(As an added note, the build fails with relwithdebinfo too, pegmatite's directory doesn't have a cmakelists.txt)

1
Answered Jul 20 '21 at 11:44
avatar  of Yuhanun
Yuhanun

Would you be okay with me setting up a devcontainer for windows users to be able to develop on Linux and pull-requesting it?

I'm not sure what a devcontainer is but it sounds useful! :)

Most of us (me included) develop on Linux and create PRs without issues. Every PR triggers tests on Linux, Mac and Windows, so even if you personally just test on Linux, you're sure to hit all targets once you submit the PR.

I'd love to get a full debug so I don't have to worry about lines being optimized out during the development process.

A debug LLVM blob is dozens of GB to download. It may be faster if you build locally, and you only need to build once.

(As an added note, the build fails with relwithdebinfo too, pegmatite's directory doesn't have a cmakelists.txt)

Did you git submodule update --recursive first?

1
Answered Jul 20 '21 at 12:00
avatar  of rengolin
rengolin