Skip to content

[gmp:x64-windows] build failure #53394

Description

@LittleGuo

Operating system

Windows 10

Compiler

visual studio 18 2026

Steps to reproduce the behavior

vcpkg install gmp:x64-windows

Failure logs

Computing installation plan...
The following packages will be built and installed:
gmp:x64-windows@6.3.0#4
Detecting compiler hash for triplet x64-windows...
-- Using %HTTP(S)_PROXY% in environment variables.
Compiler found: C:/Program Files/Microsoft Visual Studio/18/Enterprise/VC/Tools/MSVC/14.51.36231/bin/Hostx64/x64/cl.exe
Restored 0 package(s) from C:\Users\gjm\AppData\Local\vcpkg\archives in 61.9 us. Use --debug to see more details.
Installing 1/1 gmp:x64-windows@6.3.0#4...
gmp:x64-windows@6.3.0#4 package ABI: 859496fdb3b342cac6757651d2daa214d3429dcb4af80f00a4642a8f9acda4d4
Building gmp:x64-windows@6.3.0#4...
-- Using cached gmp-6.3.0.tar.xz
-- Cleaning sources at E:/vcpkg/buildtrees/gmp/src/v6.3.0-1cd9d3fdc4.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source E:/vcpkg/downloads/gmp-6.3.0.tar.xz
-- Applying patch asmflags.patch
-- Applying patch cross-tools.patch
-- Applying patch subdirs.patch
-- Applying patch msvc_symbol.patch
-- Applying patch arm64-coff.patch
-- Applying patch remove_compiler_info.patch
-- Applying patch c23.patch
-- Using source at E:/vcpkg/buildtrees/gmp/src/v6.3.0-1cd9d3fdc4.clean
-- Getting CMake variables for x64-windows
-- Loading CMake variables from E:/vcpkg/buildtrees/gmp/cmake-get-vars_C_CXX-x64-windows.cmake.log
Downloading autoconf2.71-2.71-3-any.pkg.tar.zst, trying https://mirror.msys2.org/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
error: curl operation failed with response code 404.
error: Not a transient network error, won't retry download from https://mirror.msys2.org/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
Trying https://repo.msys2.org/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
Trying https://mirror.yandex.ru/mirrors/msys2/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
Trying https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
Trying https://mirrors.ustc.edu.cn/msys2/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
Trying https://mirror.selfnet.de/msys2/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
error: curl operation failed with response code 404.
error: Not a transient network error, won't retry download from https://repo.msys2.org/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
error: curl operation failed with response code 404.
error: Not a transient network error, won't retry download from https://mirror.yandex.ru/mirrors/msys2/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
error: curl operation failed with response code 404.
error: Not a transient network error, won't retry download from https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
error: curl operation failed with response code 404.
error: Not a transient network error, won't retry download from https://mirrors.ustc.edu.cn/msys2/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
error: curl operation failed with response code 404.
error: Not a transient network error, won't retry download from https://mirror.selfnet.de/msys2/msys/x86_64/autoconf2.71-2.71-3-any.pkg.tar.zst
note: If you are using a proxy, please ensure your proxy settings are correct.
Possible causes are:

  1. You are actually using an HTTP proxy, but setting HTTPS_PROXY variable to https://address:port.
    This is not correct, because https:// prefix claims the proxy is an HTTPS proxy, while your proxy (v2ray, shadowsocksr, etc...) is an HTTP proxy.
    Try setting http://address:port to both HTTP_PROXY and HTTPS_PROXY instead.
  2. If you are using Windows, vcpkg will automatically use your Windows IE Proxy Settings set by your proxy software. See: If HTTP(S)_PROXY already exist in environment variable, do not use IE Proxy (#49) vcpkg-tool#77
    The value set by your proxy might be wrong, or have same https:// prefix issue.
  3. Your proxy's remote server is out of service.
    If you believe this is not a temporary download server failure and vcpkg needs to be changed to download this file from a different location, please submit an issue to https://github.com/Microsoft/vcpkg/issues
    CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:134 (message):
    Download failed, halting portfile.
    Call Stack (most recent call first):
    scripts/cmake/vcpkg_acquire_msys.cmake:25 (z_vcpkg_download_distfile)
    scripts/cmake/vcpkg_acquire_msys.cmake:123 (z_vcpkg_acquire_msys_download_package)
    scripts/cmake/vcpkg_acquire_msys.cmake:211 (z_vcpkg_acquire_msys_download_packages)
    ports/gmp/portfile.cmake:91 (vcpkg_acquire_msys)
    scripts/ports.cmake:209 (include)****

Additional context

When installing gmp:x64-windows on a fresh machine (without populated local downloads cache), the build consistently fails during the MSYS2 acquisition phase. The curl operation returns a 404 Not Found for autoconf2.71-2.71-3-any.pkg.tar.zst.

I have investigated the portfiles and found this is a severe dependency stalemate caused by a combination of MSYS2's rolling release and a hardcoded fallback in vcpkg:

MSYS2 upstream has completely removed autoconf2.71-2.71-3-any.pkg.tar.zst from their active mirrors (such as mirror.msys2.org).

In ports/gmp/portfile.cmake, vcpkg_acquire_msys explicitly hardcodes the DIRECT_PACKAGES URL to download the now-deleted 2.71-3 version.

The comment in the portfile (# dumpbin detection fails with autoconf 2.72) clearly indicates that vcpkg maintainers intentionally locked the version to 2.71 because autoconf 2.72 breaks MSVC dumpbin detection. Furthermore, autoconf2.71 is explicitly listed in the ignored_dependencies of vcpkg-ci-msys2 to prevent CI updates.

Metadata

Metadata

Assignees

No one assigned

    Labels

    category:port-bugThe issue is with a library, which is something the port should already support

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions