microsoft / microsoft/vcpkg

Using a binary cache with Google Cloud Storage results in error extracting SDK zip file

Open
#49,459 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
CMake
Stars
27.5k
Forks
7.7k
Avg merge
2d 19h
Merged PRs (30d)
321

Description

**Describe the bug**
Installing a port while using a `x-gcs` binary cache results in an error from 7-Zip while extracting the Google Cloud SDK zip file.

**Environment**
- OS: Windows 11 Pro 25H2
- Compiler: MSVC 14.44.35207

**To Reproduce**
Steps to reproduce the behavior:
1. `./vcpkg install fmt --classic --binarysource=x-gcs,gs://SOME_GCS_BUCKET/,readwrite`
2. Installation fails with error log below.

**Expected behavior**
The port should be installed and submitted to the binary cache.

**Failure logs**
```
A suitable version of gsutil was not found (required v5.35.0).
Extracting gsutil...
C:\Users\EllaTucker\Util\vcpkg\downloads\tools\7zip-25.01-windows\7z.exe: error: failed to extract with exit code 2

7-Zip 25.01 (x86) : Copyright (c) 1999-2025 Igor Pavlov : 2025-08-03

Scanning the drive for archives:
1 file, 103405402 bytes (99 MiB)

Extracting archive: C:\Users\EllaTucker\Util\vcpkg\downloads\google-cloud-sdk-548.0.0-windows-x86_64-bundled-python.zip
--
Path = C:\Users\EllaTucker\Util\vcpkg\downloads\google-cloud-sdk-548.0.0-windows-x86_64-bundled-python.zip
Type = zip
Physical Size = 103405402

ERROR: Dangerous link path was ignored : google-cloud-sdk\platform\gsutil\third_party\funcsigs\docs\index.rst : ..\README.rst
ERROR: Dangerous link path was ignored : google-cloud-sdk\platform\gsutil\third_party\google-auth-library-python-httplib2\docs\CHANGELOG.md : ..\CHANGELOG.md
ERROR: Dangerous link path was ignored : google-cloud-sdk\platform\gsutil\third_party\google-auth-library-python-httplib2\docs\README.rst : ..\README.rst
ERROR: Dangerous link path was ignored : google-cloud-sdk\platform\gsutil\third_party\mock\docs\changelog.txt : ..\ChangeLog
ERROR: Dangerous link path was ignored : google-cloud-sdk\platform\gsutil\third_party\requests\tests\certs\mtls\client\ca : ..\..\expired\ca
ERROR: Dangerous link path was ignored : google-cloud-sdk\platform\gsutil\third_party\requests\tests\certs\valid\ca : ..\expired\ca

Sub items Errors: 6

Archives with Errors: 1

Sub items Errors: 6

C:\Users\EllaTucker\Util\vcpkg\downloads\google-cloud-sdk-548.0.0-windows-x86_64-bundled-python.zip: note: the archive is here
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the `vcpkg install fmt --classic --binarysource=x-gcs,...` command on Windows and inspect the x-gcs binary-cache path that downloads and extracts gsutil. Use the 7-Zip failure log to trace handling of the six dangerous link paths. Done means gsutil extracts successfully and the port installs and submits to the Google Cloud Storage binary cache.

Written by the indexing model from the issue text.

Assessment

Tech stack
google-cloud
Domain
cloud, operating-systems, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.