Host Environment
To Reproduce
Steps to reproduce the behavior:
.\vcpkg.exe install llvm:x64-windows
Failure logs
PS C:\Users\etheory\Dropbox\Programming\vcpkg> .\vcpkg.exe install llvm:x64-windows Your feedback is important to improve Vcpkg! Please take 3 minutes to complete our survey by running: vcpkg contact --survey
Computing installation plan...
The following packages will be built and installed:
llvm[clang,core,disable-abi-breaking-checks,disable-assertions,disable-clang-static-analyzer,enable-rtti,lld,tools]:x64-windows
Detecting compiler hash for triplet x64-windows...
Starting package 1/1: llvm:x64-windows
Building package llvm[clang,core,disable-abi-breaking-checks,disable-assertions,disable-clang-static-analyzer,enable-rtti,lld,tools]:x64-windows...
Could not locate cached archive: C:\Users\etheory\AppData\Local\vcpkg\archives\a6\a657ade67effc9d81fe05946bcadd0cfba452678.zip
-- Note: llvm only supports static library linkage. Building static library.
-- Using cached C:/Users/etheory/Dropbox/Programming/vcpkg/downloads/llvm-llvm-project-llvmorg-10.0.0.tar.gz
-- Cleaning sources at C:/Users/etheory/Dropbox/Programming/vcpkg/buildtrees/llvm/src/org-10.0.0-32c002c70c.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/Users/etheory/Dropbox/Programming/vcpkg/downloads/llvm-llvm-project-llvmorg-10.0.0.tar.gz
-- Applying patch 0001-allow-to-use-commas.patch
-- Applying patch 0002-fix-install-paths.patch
-- Applying patch 0003-fix-vs2019-v16.6.patch
-- Using source at C:/Users/etheory/Dropbox/Programming/vcpkg/buildtrees/llvm/src/org-10.0.0-32c002c70c.clean
-- Configuring x64-windows
-- Building x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:139 (message):
Command failed: C:/Users/etheory/Dropbox/Programming/vcpkg/downloads/tools/cmake-3.17.2-windows/cmake-3.17.2-win32-x86/bin/cmake.exe --build . --config Debug --target install -- -v
Working Directory: C:/Users/etheory/Dropbox/Programming/vcpkg/buildtrees/llvm/x64-windows-dbg
See logs for more information:
C:\Users\etheory\Dropbox\Programming\vcpkg\buildtrees\llvm\install-x64-windows-dbg-out.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_build_cmake.cmake:91 (vcpkg_execute_build_process)
scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
ports/llvm/portfile.cmake:197 (vcpkg_install_cmake)
scripts/ports.cmake:79 (include)
Error: Building package llvm:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: llvm:x64-windows
Vcpkg version: 2020.06.15-nohash
Additionally, attach any relevant sections from the log files above.
Additional context
Unsure how to solve this myself, but I've attached the following output for investigation:
install-x64-windows-dbg-out.log
I believe I am seeing the same thing (I recently updated to VS 16.7.0). The culprit seems to be the following when compiling RTDyldMemoryManager.cpp:
type_traits.h(181): error C2338: inconsistent behavior between llvm:: and std:: implementation of is_trivially_copyable
[1296/2867] C:\PROGRA~2\MICROS~3\2019\COMMUN~1\VC\Tools\MSVC\1427~1.291\bin\Hostx64\x64\cl.exe /TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib\ExecutionEngine\RuntimeDyld -IE:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\lib\ExecutionEngine\RuntimeDyld -Iinclude -IE:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\include /nologo /DWIN32 /D_WINDOWS /utf-8 /MP /Zc:inline /Zc:strictStrings /Oi /Zc:rvalueCast /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4345 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd4324 -w14062 -we4238 /D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1 /EHs-c- /GR -std:c++14 /showIncludes /Folib\ExecutionEngine\RuntimeDyld\CMakeFiles\LLVMRuntimeDyld.dir\RTDyldMemoryManager.cpp.obj /Fdlib\ExecutionEngine\RuntimeDyld\CMakeFiles\LLVMRuntimeDyld.dir\LLVMRuntimeDyld.pdb /FS -c E:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\lib\ExecutionEngine\RuntimeDyld\RTDyldMemoryManager.cpp
FAILED: lib/ExecutionEngine/RuntimeDyld/CMakeFiles/LLVMRuntimeDyld.dir/RTDyldMemoryManager.cpp.obj
C:\PROGRA~2\MICROS~3\2019\COMMUN~1\VC\Tools\MSVC\1427~1.291\bin\Hostx64\x64\cl.exe /TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib\ExecutionEngine\RuntimeDyld -IE:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\lib\ExecutionEngine\RuntimeDyld -Iinclude -IE:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\include /nologo /DWIN32 /D_WINDOWS /utf-8 /MP /Zc:inline /Zc:strictStrings /Oi /Zc:rvalueCast /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4345 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd4324 -w14062 -we4238 /D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1 /EHs-c- /GR -std:c++14 /showIncludes /Folib\ExecutionEngine\RuntimeDyld\CMakeFiles\LLVMRuntimeDyld.dir\RTDyldMemoryManager.cpp.obj /Fdlib\ExecutionEngine\RuntimeDyld\CMakeFiles\LLVMRuntimeDyld.dir\LLVMRuntimeDyld.pdb /FS -c E:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\lib\ExecutionEngine\RuntimeDyld\RTDyldMemoryManager.cpp
E:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\include\llvm/Support/type_traits.h(181): error C2338: inconsistent behavior between llvm:: and std:: implementation of is_trivially_copyable
E:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\include\llvm/ADT/SmallVector.h(315): note: see reference to class template instantiation 'llvm::is_trivially_copyable<T>' being compiled
with
[
T=std::pair<void *,size_t>
]
E:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\include\llvm/ADT/SmallVector.h(837): note: see reference to class template instantiation 'llvm::SmallVectorImpl<T>' being compiled
with
[
T=std::pair<void *,size_t>
]
E:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\include\llvm/Support/Allocator.h(378): note: see reference to class template instantiation 'llvm::SmallVector<std::pair<void *,size_t>,0>' being compiled
E:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\include\llvm/Support/Allocator.h(435): note: see reference to class template instantiation 'llvm::BumpPtrAllocatorImpl<AllocatorT,SlabSize,SizeThreshold>' being compiled
E:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\include\llvm/ADT/SmallVector.h(315): error C2976: 'llvm::SmallVectorTemplateBase': too few template arguments
E:\External\vcpkg\buildtrees\llvm\src\org-10.0.0-32c002c70c.clean\llvm\include\llvm/ADT/SmallVector.h(179): note: see declaration of 'llvm::SmallVectorTemplateBase'
I am seeing this issue as well.
This issue has been fixed already in the PR #12884.
Thanks for posting this issue. This issue has been fixed. So I am closing this issue for now.
Most helpful comment
Related: https://reviews.llvm.org/D57018
Related: https://reviews.llvm.org/rG24836f8cd0698bfe40fa42060504f4b3a6d2b903