-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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] install tools in tools/llvm #14399
Conversation
ports/llvm/portfile.cmake
Outdated
file(WRITE ${_target} "${_contents}") | ||
endforeach() | ||
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) | ||
file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The halide
failure is caused by
CMake Error at D:/installed/x64-windows/share/llvm/LLVMExports.cmake:716 (message):
The imported target "LTO" references the file
"D:/installed/x64-windows/debug/bin/LTOd.dll"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"D:/installed/x64-windows/share/llvm/LLVMExports.cmake"
but not all the files it references.
Call Stack (most recent call first):
D:/installed/x64-windows/share/llvm/LLVMConfig.cmake:174 (include)
C:/a/1/s/scripts/buildsystems/vcpkg.cmake:555 (_find_package)
dependencies/llvm/CMakeLists.txt:12 (find_package)
I think this needs to use vcpkg_copy_tools or something like that instead so that only exes are moved?
Thanks again for running this down! |
There are still some issues, namely that the python scripts and DLLs that are copied into `tools/llvm` are not considered to be "installed by llvm", and thus are not removed when llvm is removed
redist-plus-plus: Remove some "passing, remove from fail lists" ignition-msgs*: Nicole is working on fixing these here: microsoft#14399
toolsrc/src/vcpkg/base/files.cpp
Outdated
@@ -26,20 +26,6 @@ | |||
|
|||
namespace | |||
{ | |||
#if defined(_WIN32) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops
redist-plus-plus: Remove some "passing, remove from fail lists" ignition-msgs*: Nicole is working on fixing these here: #14399
From most recent completed nightly build: https://dev.azure.com/vcpkg/public/_build/results?buildId=46182 PASSING, REMOVE FROM FAIL LIST: ignition-msgs5:x64-linux (.\scripts\ci.baseline.txt) I'm assuming this got fixed by @strega-nil 's llvm changes: microsoft#14399 PASSING, REMOVE FROM FAIL LIST: libraqm:x64-windows-static (.\scripts\ci.baseline.txt) Cause unknown. PASSING, REMOVE FROM FAIL LIST: openssl-windows:arm-uwp (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: openssl-windows:x64-uwp (.\scripts\ci.baseline.txt) Probably fixed by microsoft#14308 ; also removed Supports: excluded entries for these. PASSING, REMOVE FROM FAIL LIST: speexdsp:x64-osx (.\scripts\ci.baseline.txt) Probably fixed by microsoft#14758 PASSING, REMOVE FROM FAIL LIST: sundials:arm64-windows (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: sundials:x64-windows (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: sundials:x86-windows (.\scripts\ci.baseline.txt) Probably fixed by microsoft#14618 PASSING, REMOVE FROM FAIL LIST: wepoll:arm-uwp (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: wepoll:x64-uwp (.\scripts\ci.baseline.txt) Probably fixed by microsoft#14456 -- and also fixed missing Supports. REGRESSION: ceres:x64-windows. If expected, add ceres:x64-windows=fail to .\scripts\ci.baseline.txt. REGRESSION: ceres:x86-windows. If expected, add ceres:x86-windows=fail to .\scripts\ci.baseline.txt. Probably broken by microsoft#14719 ; ceres has: ``` if (BUILD_BENCHMARKS) find_package(benchmark QUIET) if (benchmark_FOUND) message("-- Found Google benchmark library. Building Ceres benchmarks.") else() message("-- Failed to find Google benchmark library, disabling build of benchmarks.") update_cache_variable(BUILD_BENCHMARKS OFF) endif() mark_as_advanced(benchmark_DIR) endif() ``` so it passed there because Google Benchmark was not also installed. Worked around by `-DBUILD_BENCHMARKS=OFF`. REGRESSION: dirent:arm64-windows. If expected, add dirent:arm64-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... -- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... Failed. Status: 28;"Timeout was reached" CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message): ``` REGRESSION: discord-rpc:arm64-windows. If expected, add discord-rpc:arm64-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... -- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... Failed. Status: 28;"Timeout was reached" CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message): ``` REGRESSION: libunibreak:x86-windows. If expected, add libunibreak:x86-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Note: libunibreak only supports static library linkage. Building static library. -- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... -- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... Failed. Status: 28;"Timeout was reached" ``` REGRESSION: libzip:x86-windows. If expected, add libzip:x86-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... -- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... Failed. Status: 28;"Timeout was reached" CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message): ``` REGRESSION: ocilib:x64-windows-static. If expected, add ocilib:x64-windows-static=fail to .\scripts\ci.baseline.txt. Probably broken by microsoft#13158 but it passed there: (Link target) -> chromium_base.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymCleanup [D:\buildtrees\ocilib\x64-windows-static-rel\4fc7a69e6d-337dbe59ca.clean\proj\dll\ocilib_dll_vs2019.vcxproj] Looks like it was skipped before that PR because the port conflicts with chromium-base which couldn't have been caught in that PR. Putting it back on ci.baseline.txt. REGRESSION: osgearth:x64-windows. If expected, add osgearth:x64-windows=fail to .\scripts\ci.baseline.txt. REGRESSION: osgearth:x86-windows. If expected, add osgearth:x86-windows=fail to .\scripts\ci.baseline.txt. Cause unknown. I think we should skip this one in ci.baseline.txt since I've never seen it work OK. REGRESSION: qt5-tools:x64-windows-static. If expected, add qt5-tools:x64-windows-static=fail to .\scripts\ci.baseline.txt. Last I heard @ras0219 was investigating this one but that's been a while now. I pinged him again.
From most recent completed nightly build: https://dev.azure.com/vcpkg/public/_build/results?buildId=46182 PASSING, REMOVE FROM FAIL LIST: ignition-msgs5:x64-linux (.\scripts\ci.baseline.txt) I'm assuming this got fixed by @strega-nil 's llvm changes: #14399 PASSING, REMOVE FROM FAIL LIST: libraqm:x64-windows-static (.\scripts\ci.baseline.txt) Cause unknown. PASSING, REMOVE FROM FAIL LIST: openssl-windows:arm-uwp (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: openssl-windows:x64-uwp (.\scripts\ci.baseline.txt) Probably fixed by #14308 ; also removed Supports: excluded entries for these. PASSING, REMOVE FROM FAIL LIST: speexdsp:x64-osx (.\scripts\ci.baseline.txt) Probably fixed by #14758 PASSING, REMOVE FROM FAIL LIST: sundials:arm64-windows (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: sundials:x64-windows (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: sundials:x86-windows (.\scripts\ci.baseline.txt) Probably fixed by #14618 PASSING, REMOVE FROM FAIL LIST: wepoll:arm-uwp (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: wepoll:x64-uwp (.\scripts\ci.baseline.txt) Probably fixed by #14456 -- and also fixed missing Supports. REGRESSION: ceres:x64-windows. If expected, add ceres:x64-windows=fail to .\scripts\ci.baseline.txt. REGRESSION: ceres:x86-windows. If expected, add ceres:x86-windows=fail to .\scripts\ci.baseline.txt. Probably broken by #14719 ; ceres has: ``` if (BUILD_BENCHMARKS) find_package(benchmark QUIET) if (benchmark_FOUND) message("-- Found Google benchmark library. Building Ceres benchmarks.") else() message("-- Failed to find Google benchmark library, disabling build of benchmarks.") update_cache_variable(BUILD_BENCHMARKS OFF) endif() mark_as_advanced(benchmark_DIR) endif() ``` so it passed there because Google Benchmark was not also installed. Worked around by `-DBUILD_BENCHMARKS=OFF`. REGRESSION: dirent:arm64-windows. If expected, add dirent:arm64-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... -- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... Failed. Status: 28;"Timeout was reached" CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message): ``` REGRESSION: discord-rpc:arm64-windows. If expected, add discord-rpc:arm64-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... -- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... Failed. Status: 28;"Timeout was reached" CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message): ``` REGRESSION: libunibreak:x86-windows. If expected, add libunibreak:x86-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Note: libunibreak only supports static library linkage. Building static library. -- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... -- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... Failed. Status: 28;"Timeout was reached" ``` REGRESSION: libzip:x86-windows. If expected, add libzip:x86-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... -- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... Failed. Status: 28;"Timeout was reached" CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message): ``` REGRESSION: ocilib:x64-windows-static. If expected, add ocilib:x64-windows-static=fail to .\scripts\ci.baseline.txt. Probably broken by #13158 but it passed there: (Link target) -> chromium_base.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymCleanup [D:\buildtrees\ocilib\x64-windows-static-rel\4fc7a69e6d-337dbe59ca.clean\proj\dll\ocilib_dll_vs2019.vcxproj] Looks like it was skipped before that PR because the port conflicts with chromium-base which couldn't have been caught in that PR. Putting it back on ci.baseline.txt. REGRESSION: osgearth:x64-windows. If expected, add osgearth:x64-windows=fail to .\scripts\ci.baseline.txt. REGRESSION: osgearth:x86-windows. If expected, add osgearth:x86-windows=fail to .\scripts\ci.baseline.txt. Cause unknown. I think we should skip this one in ci.baseline.txt since I've never seen it work OK. REGRESSION: qt5-tools:x64-windows-static. If expected, add qt5-tools:x64-windows-static=fail to .\scripts\ci.baseline.txt. Last I heard @ras0219 was investigating this one but that's been a while now. I pinged him again.
* [llvm] install tools in tools/llvm * remove the giant commented out block of code * update port-version * hopefully fix the port? There are still some issues, namely that the python scripts and DLLs that are copied into `tools/llvm` are not considered to be "installed by llvm", and thus are not removed when llvm is removed * format! * apparently REGEX REPLACE fails if a thing doesn't match * fix LLVM_REMOVE_EXTENSION_REGEX on windows * actually read the cmake regex docs... * fix the name of the variable * turns out CMAKE_MATCH_1 is the one I want * need to update VERSION for new policy * stop removing debug/bin * fix faulty merge
From most recent completed nightly build: https://dev.azure.com/vcpkg/public/_build/results?buildId=46182 PASSING, REMOVE FROM FAIL LIST: ignition-msgs5:x64-linux (.\scripts\ci.baseline.txt) I'm assuming this got fixed by @strega-nil 's llvm changes: microsoft/vcpkg#14399 PASSING, REMOVE FROM FAIL LIST: libraqm:x64-windows-static (.\scripts\ci.baseline.txt) Cause unknown. PASSING, REMOVE FROM FAIL LIST: openssl-windows:arm-uwp (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: openssl-windows:x64-uwp (.\scripts\ci.baseline.txt) Probably fixed by microsoft/vcpkg#14308 ; also removed Supports: excluded entries for these. PASSING, REMOVE FROM FAIL LIST: speexdsp:x64-osx (.\scripts\ci.baseline.txt) Probably fixed by microsoft/vcpkg#14758 PASSING, REMOVE FROM FAIL LIST: sundials:arm64-windows (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: sundials:x64-windows (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: sundials:x86-windows (.\scripts\ci.baseline.txt) Probably fixed by microsoft/vcpkg#14618 PASSING, REMOVE FROM FAIL LIST: wepoll:arm-uwp (.\scripts\ci.baseline.txt) PASSING, REMOVE FROM FAIL LIST: wepoll:x64-uwp (.\scripts\ci.baseline.txt) Probably fixed by microsoft/vcpkg#14456 -- and also fixed missing Supports. REGRESSION: ceres:x64-windows. If expected, add ceres:x64-windows=fail to .\scripts\ci.baseline.txt. REGRESSION: ceres:x86-windows. If expected, add ceres:x86-windows=fail to .\scripts\ci.baseline.txt. Probably broken by microsoft/vcpkg#14719 ; ceres has: ``` if (BUILD_BENCHMARKS) find_package(benchmark QUIET) if (benchmark_FOUND) message("-- Found Google benchmark library. Building Ceres benchmarks.") else() message("-- Failed to find Google benchmark library, disabling build of benchmarks.") update_cache_variable(BUILD_BENCHMARKS OFF) endif() mark_as_advanced(benchmark_DIR) endif() ``` so it passed there because Google Benchmark was not also installed. Worked around by `-DBUILD_BENCHMARKS=OFF`. REGRESSION: dirent:arm64-windows. If expected, add dirent:arm64-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... -- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... Failed. Status: 28;"Timeout was reached" CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message): ``` REGRESSION: discord-rpc:arm64-windows. If expected, add discord-rpc:arm64-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... -- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... Failed. Status: 28;"Timeout was reached" CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message): ``` REGRESSION: libunibreak:x86-windows. If expected, add libunibreak:x86-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Note: libunibreak only supports static library linkage. Building static library. -- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... -- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... Failed. Status: 28;"Timeout was reached" ``` REGRESSION: libzip:x86-windows. If expected, add libzip:x86-windows=fail to .\scripts\ci.baseline.txt. Transient: ``` -- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... -- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... Failed. Status: 28;"Timeout was reached" CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message): ``` REGRESSION: ocilib:x64-windows-static. If expected, add ocilib:x64-windows-static=fail to .\scripts\ci.baseline.txt. Probably broken by microsoft/vcpkg#13158 but it passed there: (Link target) -> chromium_base.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymCleanup [D:\buildtrees\ocilib\x64-windows-static-rel\4fc7a69e6d-337dbe59ca.clean\proj\dll\ocilib_dll_vs2019.vcxproj] Looks like it was skipped before that PR because the port conflicts with chromium-base which couldn't have been caught in that PR. Putting it back on ci.baseline.txt. REGRESSION: osgearth:x64-windows. If expected, add osgearth:x64-windows=fail to .\scripts\ci.baseline.txt. REGRESSION: osgearth:x86-windows. If expected, add osgearth:x86-windows=fail to .\scripts\ci.baseline.txt. Cause unknown. I think we should skip this one in ci.baseline.txt since I've never seen it work OK. REGRESSION: qt5-tools:x64-windows-static. If expected, add qt5-tools:x64-windows-static=fail to .\scripts\ci.baseline.txt. Last I heard @ras0219 was investigating this one but that's been a while now. I pinged him again.
This fixes #13294; however, I'm not sure this is the best solution, so I would like reviews from affected parties (this is also the first portfile I've ever written, haha!)