Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[llvm] update to 11.0.0 #13998

Merged
merged 23 commits into from
Nov 30, 2020
Merged

[llvm] update to 11.0.0 #13998

merged 23 commits into from
Nov 30, 2020

Conversation

yurybura
Copy link
Contributor

Update to LLVM 11.0.0

Fixes #13997
Fixes #12377

Adds new features: flang, MLIR, AVR backend

@JackBoosY JackBoosY added the category:port-update The issue is with a library, which is requesting update new revision label Oct 13, 2020
@PhoebeHui
Copy link
Contributor

@yurybura, could you resolve the conflicts?

@yurybura
Copy link
Contributor Author

yurybura commented Nov 3, 2020

Dear @PhoebeHui, after merge #12926 CMake is failed.. I think, the problem is in using one more function call vcpkg_execute_in_download_mode in vcpkg_execute_required_process.

@JackBoosY
Copy link
Contributor

[1/2] cmd /c "cd .. && "D:/downloads/tools/cmake-3.18.4-windows/cmake-3.18.4-win32-x86/bin/cmake.exe" "D:/buildtrees/llvm/src/org-11.0.0-15a13a6e4e.clean/llvm" "-DLLVM_BUILD_TOOLS=ON" "-DLLVM_INCLUDE_TOOLS=ON" "-DLLVM_BUILD_UTILS=OFF" "-DLLVM_INCLUDE_UTILS=OFF" "-DLLVM_ENABLE_RTTI=ON" "-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON" "-DLLVM_ENABLE_ASSERTIONS=OFF" "-DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF" "-DCLANG_ENABLE_ARCMT=OFF" "-DCLANG_ENABLE_STATIC_ANALYZER=OFF" "-DLLVM_INCLUDE_EXAMPLES=OFF" "-DLLVM_BUILD_EXAMPLES=OFF" "-DLLVM_INCLUDE_TESTS=OFF" "-DLLVM_BUILD_TESTS=OFF" "-DLLVM_ENABLE_LIBXML2=OFF" "-DLLVM_ENABLE_ZLIB=OFF" "-DLLVM_OPTIMIZED_TABLEGEN=ON" "-DLLVM_ENABLE_PROJECTS=clang" "lld" "-DLLVM_TARGETS_TO_BUILD=X86" "-DPACKAGE_VERSION=11.0.0" "-DLLVM_PARALLEL_LINK_JOBS=1" "-DLLVM_BUILD_LLVM_C_DYLIB=OFF" "-DCMAKE_DEBUG_POSTFIX=d" "-DCMAKE_MAKE_PROGRAM=D:/downloads/tools/ninja/1.10.1-windows/ninja.exe" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/a/1/s/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows-static" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v142" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/a/1/s/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=static" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/a/1/s" "-D_VCPKG_INSTALLED_DIR=D:/installed" "-DVCPKG_MANIFEST_INSTALL=OFF" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=D:/packages/llvm_x64-windows-static""
FAILED: ../CMakeCache.txt 
cmd /c "cd .. && "D:/downloads/tools/cmake-3.18.4-windows/cmake-3.18.4-win32-x86/bin/cmake.exe" "D:/buildtrees/llvm/src/org-11.0.0-15a13a6e4e.clean/llvm" "-DLLVM_BUILD_TOOLS=ON" "-DLLVM_INCLUDE_TOOLS=ON" "-DLLVM_BUILD_UTILS=OFF" "-DLLVM_INCLUDE_UTILS=OFF" "-DLLVM_ENABLE_RTTI=ON" "-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON" "-DLLVM_ENABLE_ASSERTIONS=OFF" "-DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF" "-DCLANG_ENABLE_ARCMT=OFF" "-DCLANG_ENABLE_STATIC_ANALYZER=OFF" "-DLLVM_INCLUDE_EXAMPLES=OFF" "-DLLVM_BUILD_EXAMPLES=OFF" "-DLLVM_INCLUDE_TESTS=OFF" "-DLLVM_BUILD_TESTS=OFF" "-DLLVM_ENABLE_LIBXML2=OFF" "-DLLVM_ENABLE_ZLIB=OFF" "-DLLVM_OPTIMIZED_TABLEGEN=ON" "-DLLVM_ENABLE_PROJECTS=clang" "lld" "-DLLVM_TARGETS_TO_BUILD=X86" "-DPACKAGE_VERSION=11.0.0" "-DLLVM_PARALLEL_LINK_JOBS=1" "-DLLVM_BUILD_LLVM_C_DYLIB=OFF" "-DCMAKE_DEBUG_POSTFIX=d" "-DCMAKE_MAKE_PROGRAM=D:/downloads/tools/ninja/1.10.1-windows/ninja.exe" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/a/1/s/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows-static" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v142" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/a/1/s/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=static" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/a/1/s" "-D_VCPKG_INSTALLED_DIR=D:/installed" "-DVCPKG_MANIFEST_INSTALL=OFF" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=D:/packages/llvm_x64-windows-static""
CMake Error: The source directory "D:/buildtrees/llvm/x64-windows-static-rel/lld" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
[2/2] cmd /c "cd ../../x64-windows-static-dbg && "D:/downloads/tools/cmake-3.18.4-windows/cmake-3.18.4-win32-x86/bin/cmake.exe" "D:/buildtrees/llvm/src/org-11.0.0-15a13a6e4e.clean/llvm" "-DLLVM_BUILD_TOOLS=ON" "-DLLVM_INCLUDE_TOOLS=ON" "-DLLVM_BUILD_UTILS=OFF" "-DLLVM_INCLUDE_UTILS=OFF" "-DLLVM_ENABLE_RTTI=ON" "-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON" "-DLLVM_ENABLE_ASSERTIONS=OFF" "-DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF" "-DCLANG_ENABLE_ARCMT=OFF" "-DCLANG_ENABLE_STATIC_ANALYZER=OFF" "-DLLVM_INCLUDE_EXAMPLES=OFF" "-DLLVM_BUILD_EXAMPLES=OFF" "-DLLVM_INCLUDE_TESTS=OFF" "-DLLVM_BUILD_TESTS=OFF" "-DLLVM_ENABLE_LIBXML2=OFF" "-DLLVM_ENABLE_ZLIB=OFF" "-DLLVM_OPTIMIZED_TABLEGEN=ON" "-DLLVM_ENABLE_PROJECTS=clang" "lld" "-DLLVM_TARGETS_TO_BUILD=X86" "-DPACKAGE_VERSION=11.0.0" "-DLLVM_PARALLEL_LINK_JOBS=1" "-DLLVM_BUILD_LLVM_C_DYLIB=OFF" "-DCMAKE_DEBUG_POSTFIX=d" "-DCMAKE_MAKE_PROGRAM=D:/downloads/tools/ninja/1.10.1-windows/ninja.exe" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/a/1/s/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows-static" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v142" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/a/1/s/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=static" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/a/1/s" "-D_VCPKG_INSTALLED_DIR=D:/installed" "-DVCPKG_MANIFEST_INSTALL=OFF" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=D:/packages/llvm_x64-windows-static/debug""
FAILED: ../../x64-windows-static-dbg/CMakeCache.txt 
cmd /c "cd ../../x64-windows-static-dbg && "D:/downloads/tools/cmake-3.18.4-windows/cmake-3.18.4-win32-x86/bin/cmake.exe" "D:/buildtrees/llvm/src/org-11.0.0-15a13a6e4e.clean/llvm" "-DLLVM_BUILD_TOOLS=ON" "-DLLVM_INCLUDE_TOOLS=ON" "-DLLVM_BUILD_UTILS=OFF" "-DLLVM_INCLUDE_UTILS=OFF" "-DLLVM_ENABLE_RTTI=ON" "-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON" "-DLLVM_ENABLE_ASSERTIONS=OFF" "-DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF" "-DCLANG_ENABLE_ARCMT=OFF" "-DCLANG_ENABLE_STATIC_ANALYZER=OFF" "-DLLVM_INCLUDE_EXAMPLES=OFF" "-DLLVM_BUILD_EXAMPLES=OFF" "-DLLVM_INCLUDE_TESTS=OFF" "-DLLVM_BUILD_TESTS=OFF" "-DLLVM_ENABLE_LIBXML2=OFF" "-DLLVM_ENABLE_ZLIB=OFF" "-DLLVM_OPTIMIZED_TABLEGEN=ON" "-DLLVM_ENABLE_PROJECTS=clang" "lld" "-DLLVM_TARGETS_TO_BUILD=X86" "-DPACKAGE_VERSION=11.0.0" "-DLLVM_PARALLEL_LINK_JOBS=1" "-DLLVM_BUILD_LLVM_C_DYLIB=OFF" "-DCMAKE_DEBUG_POSTFIX=d" "-DCMAKE_MAKE_PROGRAM=D:/downloads/tools/ninja/1.10.1-windows/ninja.exe" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/a/1/s/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows-static" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v142" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/a/1/s/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=static" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/a/1/s" "-D_VCPKG_INSTALLED_DIR=D:/installed" "-DVCPKG_MANIFEST_INSTALL=OFF" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=D:/packages/llvm_x64-windows-static/debug""
CMake Error: The source directory "D:/buildtrees/llvm/x64-windows-static-dbg/lld" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
ninja: build stopped: subcommand failed.

@yurybura
Copy link
Contributor Author

yurybura commented Nov 16, 2020

Dear @JackBoosY, the issue is here: "-DLLVM_ENABLE_PROJECTS=clang" "lld"
CMake function vcpkg_configure_cmake strips ; symbol. Should be "-DLLVM_ENABLE_PROJECTS=clang;lld". Before #12926 with my small changes in first commit it worked.
Thank you.

@strega-nil
Copy link
Contributor

@yurybura you need to take the changes from #14597 to vcpkg_configure_cmake.

@yurybura
Copy link
Contributor Author

@strega-nil Done. Thank you!

@strega-nil
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@PhoebeHui PhoebeHui added the requires:all-feature-testing vcpkg install port[all features supported by that port] needs to be demonstrated to function label Nov 19, 2020
@PhoebeHui
Copy link
Contributor

CI testing failures with x64-linux:

-- Performing post-build validation
The /lib/cmake folder should be merged with /debug/lib/cmake and moved to /share/llvm/cmake.
Please use the helper function `vcpkg_fixup_cmake_targets()`
The following cmake files were found outside /share/llvm. Please place cmake files in /share/llvm.

    /mnt/vcpkg-ci/packages/llvm_x64-linux/lib/cmake/lld/LLDTargets-release.cmake
    /mnt/vcpkg-ci/packages/llvm_x64-linux/lib/cmake/lld/LLDTargets.cmake
    /mnt/vcpkg-ci/packages/llvm_x64-linux/lib/cmake/lld/LLDConfig.cmake
    /mnt/vcpkg-ci/packages/llvm_x64-linux/lib/cmake/llvm/LLVMConfigExtensions.cmake
    /mnt/vcpkg-ci/packages/llvm_x64-linux/debug/lib/cmake/lld/LLDTargets.cmake
    /mnt/vcpkg-ci/packages/llvm_x64-linux/debug/lib/cmake/lld/LLDConfig.cmake
    /mnt/vcpkg-ci/packages/llvm_x64-linux/debug/lib/cmake/lld/LLDTargets-debug.cmake
    /mnt/vcpkg-ci/packages/llvm_x64-linux/debug/lib/cmake/llvm/LLVMConfigExtensions.cmake

The /debug/lib/cmake folder should be merged with /lib/cmake into /share/llvm
Found 3 error(s). Please correct the portfile:
    /agent/_work/1/s/ports/llvm/portfile.cmake

@strega-nil
Copy link
Contributor

I'm currently working on @PhoebeHui's issue; I'll push once I finish the test.

@PhoebeHui
Copy link
Contributor

Here is CI testing results, @yurybura, could you please have a look? I will test the features again.

awa-sdk-cpp: with x64-linux/x64-osx/x64-windows/x64-windows-static/x86-windows

CMake Error at cmake/sdksCommon.cmake:10 (if):
  if given arguments:

    "access-management" "STREQUAL" "core" "dynamodb" "kinesis" "s3"

  Unknown arguments specified
Call Stack (most recent call first):
  cmake/sdksCommon.cmake:40 (get_map_element)
  cmake/sdks.cmake:27 (get_dependencies_for_sdk)
  CMakeLists.txt:253 (include)

halide with x64-linux/x64-osx/x64-windows/x86-windows

CMake Error at D:/installed/x64-windows/share/llvm/LLVMConfig.cmake:180 (include):
  include could not find load file:

    D:/installed/lib/cmake/llvm/LLVMExports.cmake
Call Stack (most recent call first):
  C:/a/2/s/scripts/buildsystems/vcpkg.cmake:622 (_find_package)
  dependencies/llvm/CMakeLists.txt:12 (find_package)

CMake Error at D:/installed/x64-windows/share/llvm/LLVMConfig.cmake:198 (include):
  include could not find load file:

    D:/installed/lib/cmake/llvm/LLVM-Config.cmake
Call Stack (most recent call first):
  C:/a/2/s/scripts/buildsystems/vcpkg.cmake:622 (_find_package)
  dependencies/llvm/CMakeLists.txt:12 (find_package)

failure logs for x64-windows.zip

@yurybura
Copy link
Contributor Author

Dear @PhoebeHui,
I know about this issue. Probably better to return back the source code patch for correct generation of LLVMConfig.cmake.
I'll inform you after fixing all reported issues.
Thank you.

@yurybura
Copy link
Contributor Author

Dear @PhoebeHui,
please find my comments below about features testing.

New features: mlir and target-avr: test passed with vs2019, howvever it failed with vs2017

Fixed

New feature: flang

Fixed on Linux
flang compilation is failed with MSVC, there are a lot of issues fixed in master (see http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html). I don't think that we should add all patches... How can I exclude this feature on Windows?

Exist feature: openmp, it haven't passed before

Fixed on Linux
openmp compilation is failed with MSVC too but it is passed with GCC on Linux (see reported issue https://bugs.llvm.org/show_bug.cgi?id=45074).

Exist feature: clang-tools-extra, test with vs2019

Fixed

Exist feature: polly

Fixed

@PhoebeHui
Copy link
Contributor

Except feature 'flang' and 'openmp', others test passed with x64-windows. Also test llvm:x86-windows with default feature, it passed.

For flang and openmp only supports on linux, could you add a fail message to portfile.cmake when the features has been built on windows platform?

Thanks again for making this possible!

@PhoebeHui PhoebeHui removed the requires:all-feature-testing vcpkg install port[all features supported by that port] needs to be demonstrated to function label Nov 30, 2020
@yurybura
Copy link
Contributor Author

For flang and openmp only supports on linux, could you add a fail message to portfile.cmake when the features has been built on windows platform?

Yes, I can. I think it would be nice to have an option to specify supported platform for a feature in the CONTROL file or in the vcpkg.json.

@PhoebeHui
Copy link
Contributor

Unfortunately the 'Supports' doesn't work for features now, Jack draft a PR#12160 to implement it, however, it still need more time to finish that.

@PhoebeHui
Copy link
Contributor

PhoebeHui commented Nov 30, 2020

Sorry @yurybura, I have one test machine to test all features togather and found it failled in post-build validation, could you please have a look?

-- Performing post-build validation

The following dlls were found in /lib or /debug/lib. Please move them to /bin or /debug/bin, respectively.

    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.asan_dynamic-x86_64.dll

The following dlls were found in /lib or /debug/lib. Please move them to /bin or /debug/bin, respectively.

    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.asan_dynamic-x86_64d.dll

Expected Debug,Dynamic crt linkage, but the following libs had invalid crt linkage:

    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.asan-preinit-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.asan-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.asan_cxx-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.asan_dll_thunk-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.builtins-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.fuzzer-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.fuzzer_no_main-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.profile-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.stats-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.stats_client-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.ubsan_standalone-x86_64d.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.ubsan_standalone_cxx-x86_64d.lib: Release,Static

To inspect the lib files, use:
    dumpbin.exe /directives mylibfile.lib
Expected Release,Dynamic crt linkage, but the following libs had invalid crt linkage:

    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.asan-preinit-x86_64.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.asan-x86_64.lib: Release,Static    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.asan_cxx-x86_64.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.asan_dll_thunk-x86_64.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.builtins-x86_64.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.fuzzer-x86_64.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.fuzzer_no_main-x86_64.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.profile-x86_64.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.stats-x86_64.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.stats_client-x86_64.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.ubsan_standalone-x86_64.lib: Release,Static
    E:/vcpkg/13998/vcpkg/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.ubsan_standalone_cxx-x86_64.lib: Release,Static

To inspect the lib files, use:
    dumpbin.exe /directives mylibfile.lib
Found 4 error(s). Please correct the portfile:
    E:\vcpkg\13998\vcpkg\ports\llvm\portfile.cmake
-- Performing post-build validation done
Error: Building package llvm:x64-windows failed with: POST_BUILD_CHECKS_FAILED

@PhoebeHui
Copy link
Contributor

Sorry I didn't noticed this issue before.

@yurybura
Copy link
Contributor Author

yurybura commented Nov 30, 2020

Dear @PhoebeHui,
The compiler-rt library in LLVM is located in the lib directory by default. I think I should find and enable a policy to skip this post-build validation.
Thank you for report.

@strega-nil strega-nil merged commit e95a7a8 into microsoft:master Nov 30, 2020
@strega-nil
Copy link
Contributor

Augh I accidentally hit the merge button.

@yurybura or @PhoebeHui could you open a PR to fix this feature?

@PhoebeHui
Copy link
Contributor

@yurybura @strega-nil, I concerned if it's right thing to skip post-build validation?

  1. The dll located in libs folder
  2. The crt linkage is wrong. should be debug/dynamic, releas /dynamic, currently, all are release/static.

I'm not familiar with the feature, it may has some problems to use it.

@strega-nil
Copy link
Contributor

@PhoebeHui I think you're right, although I'm also not someone who understands this feature.

@yurybura
Copy link
Contributor Author

yurybura commented Dec 2, 2020

@strega-nil There is description of library: https://compiler-rt.llvm.org/
This lib is used by Clang compiler for source code instrumentation. For example for PGO.
So, I think I should think how to move this lib to the tools\llvm folder.
@PhoebeHui Could you report a new issue for compiler-rt post-build validation errors? Let continue discuss in this issue.

@PhoebeHui
Copy link
Contributor

Sure, tracking this issue via #14900

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-update The issue is with a library, which is requesting update new revision
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[llvm] update to 11.0.0 llvm[openmp] build failure
6 participants