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.1.0, add features and fix issues #16232

Merged
merged 33 commits into from
Apr 13, 2021
Merged

[llvm] update to 11.1.0, add features and fix issues #16232

merged 33 commits into from
Apr 13, 2021

Conversation

yurybura
Copy link
Contributor

@yurybura yurybura commented Feb 15, 2021

This PR adds more features (libc, libcxx, libunwind, etc.) and fixes issues.

Fixes #16222
Fixes #16215
Fixes #15228
Fixes #14900
Fixes #12262

@PhoebeHui PhoebeHui assigned JackBoosY and PhoebeHui and unassigned JackBoosY Feb 18, 2021
@PhoebeHui PhoebeHui added category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist category:port-bug The issue is with a library, which is something the port should already support labels Feb 18, 2021
@PhoebeHui
Copy link
Contributor

PhoebeHui commented Feb 18, 2021

@yurybura, thanks for your contribution!

Here is CI failures:
x86-windows/x64-windows/x64-windows-static, related to old issue #14900

-- Performing post-build validation

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

    D:/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.

    D:/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:

 D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.asan-preinit-x86_64d.lib: Release,Static
    D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.asan-x86_64d.lib: Release,Static
    D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.asan_cxx-x86_64d.lib: Release,Static
    D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.asan_dll_thunk-x86_64d.lib: Release,Static
    D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.builtins-x86_64d.lib: Release,Static
    D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.fuzzer-x86_64d.lib: Release,Static
    D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.fuzzer_no_main-x86_64d.lib: Release,Static
    D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.profile-x86_64d.lib: Release,Static
    D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.stats-x86_64d.lib: Release,Static
    D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.stats_client-x86_64d.lib: Release,Static
    D:/packages/llvm_x64-windows/debug/lib/clang/11.0.0/lib/windows/clang_rt.ubsan_standalone-x86_64d.lib: Release,Static
    D:/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:
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.asan-preinit-x86_64.lib: Release,Static
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.asan-x86_64.lib: Release,Static
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.asan_cxx-x86_64.lib: Release,Static
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.asan_dll_thunk-x86_64.lib: Release,Static
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.builtins-x86_64.lib: Release,Static
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.fuzzer-x86_64.lib: Release,Static
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.fuzzer_no_main-x86_64.lib: Release,Static
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.profile-x86_64.lib: Release,Static
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.stats-x86_64.lib: Release,Static
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.stats_client-x86_64.lib: Release,Static
    D:/packages/llvm_x64-windows/lib/clang/11.0.0/lib/windows/clang_rt.ubsan_standalone-x86_64.lib: Release,Static
    D:/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:
    C:\a\1\s\ports\llvm\portfile.cmake

x64-linux:

  LIBCXX_ENABLE_STATIC_ABI_LIBRARY is an experimental option

CMake Error at projects/libcxx/src/cmake_install.cmake:82 (file):
  file INSTALL cannot find
  "/mnt/vcpkg-ci/buildtrees/llvm/x64-linux-dbg/./lib/libc++.so": No such file
  or directory.
Call Stack (most recent call first):
  projects/libcxx/cmake_install.cmake:56 (include)
  projects/cmake_install.cmake:50 (include)
  cmake_install.cmake:76 (include)

x64-osx:

-- 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.

    /Users/vagrant/Data/packages/llvm_x64-osx/lib/cmake/ParallelSTL/ParallelSTLConfig.cmake
    /Users/vagrant/Data/packages/llvm_x64-osx/lib/cmake/ParallelSTL/ParallelSTLConfigVersion.cmake
    /Users/vagrant/Data/packages/llvm_x64-osx/lib/cmake/ParallelSTL/ParallelSTLTargets.cmake
    /Users/vagrant/Data/packages/llvm_x64-osx/debug/lib/cmake/ParallelSTL/ParallelSTLConfig.cmake
    /Users/vagrant/Data/packages/llvm_x64-osx/debug/lib/cmake/ParallelSTL/ParallelSTLConfigVersion.cmake
    /Users/vagrant/Data/packages/llvm_x64-osx/debug/lib/cmake/ParallelSTL/ParallelSTLTargets.cmake

The /debug/lib/cmake folder should be merged with /lib/cmake into /share/llvm
Found 3 error(s). Please correct the portfile:
    /Volumes/data/work/1/s/ports/llvm/portfile.cmake
-- Performing post-build validation done
Error: Building package llvm:x64-osx failed with: POST_BUILD_CHECKS_FAILED

@yurybura
Copy link
Contributor Author

Dear @PhoebeHui, thanks for the comment. I'll let you know when I fix it.

@yurybura yurybura marked this pull request as ready for review March 16, 2021 07:05
@yurybura
Copy link
Contributor Author

Dear @PhoebeHui, please check this PR. All failures have been fixed.

@yurybura yurybura mentioned this pull request Mar 18, 2021
@PhoebeHui PhoebeHui added the requires:all-feature-testing vcpkg install port[all features supported by that port] needs to be demonstrated to function label Mar 18, 2021
@yurybura
Copy link
Contributor Author

Dear @PhoebeHui @ras0219-msft
please check this PR. Newer version is almost done, I want to start a new PR for 12.0.0.
Thanks!

Copy link
Contributor

@PhoebeHui PhoebeHui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, @vicroms, could you help review and merge this PR?

Copy link
Contributor

@ras0219-msft ras0219-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd also like to get this reviewed by @alexreinking, since I know he's a consumer of llvm (via halide)

ports/llvm/CONTROL Outdated Show resolved Hide resolved
@alexreinking
Copy link
Contributor

Going to try compiling Halide against this locally. Will take a few hours.

Copy link
Contributor

@alexreinking alexreinking left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as Halide is concerned, this seems fine. It built successfully for me on x64-windows (release only) and upstream Halide builds successfully against it.

ports/llvm/CONTROL Outdated Show resolved Hide resolved
ports/llvm/portfile.cmake Show resolved Hide resolved
Copy link
Contributor

@alexreinking alexreinking left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer to see modern CMake in custom usage files. I made one comment per directory command, but there are multiple instances.

ports/llvm/clang_usage Outdated Show resolved Hide resolved
ports/llvm/llvm_usage Show resolved Hide resolved
ports/llvm/llvm_usage Outdated Show resolved Hide resolved
ports/llvm/llvm_usage Outdated Show resolved Hide resolved
@JackBoosY JackBoosY linked an issue Apr 5, 2021 that may be closed by this pull request
@PhoebeHui PhoebeHui added requires:author-response and removed info:reviewed Pull Request changes follow basic guidelines labels Apr 6, 2021
@yurybura
Copy link
Contributor Author

yurybura commented Apr 6, 2021

@alexreinking @ras0219-msft
Thank you for review!
Please have a look one more time.

@PhoebeHui PhoebeHui added info:reviewed Pull Request changes follow basic guidelines and removed requires:author-response labels Apr 7, 2021
@PhoebeHui
Copy link
Contributor

@strega-nil, could you please help review and merge this PR?

Copy link
Contributor

@strega-nil strega-nil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these are the things I see; the biggest thing you need to do is figure out the usage issue

ports/llvm/llvm_usage Outdated Show resolved Hide resolved
ports/llvm/portfile.cmake Show resolved Hide resolved
ports/llvm/clang_usage Outdated Show resolved Hide resolved
@strega-nil strega-nil merged commit 40449ff into microsoft:master Apr 13, 2021
@yurybura yurybura deleted the llvm-update branch April 14, 2021 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
8 participants