microsoft / microsoft/vcpkg

Error in vcpkg_download_distfile.cmake renaming temp dir (may be docker-related)

Open
#4,245 14 comments 0 reactions 1 assignee Assigned to @FrankXie05 View on GitHub
category:vcpkg-bug
Dominant language
CMake
Stars
27.5k
Forks
7.7k
Avg merge
2d 19h
Merged PRs (30d)
321

Description

Package: xerces-c:x64-windows
Vcpkg version: 0.0.113-nohash

I don't think the issue is really in xerces-c. It happens most frequently when running multiple "vcpkg install" commands in separate docker RUN steps. However, I have also reproduced by hand trying to install xerces-c.

The system is a VMware virtual machine running Windows Server 2016 (MSDN licence), running VS2015 in a docker image. The docker image is created from [here](https://gitlab.com/codelibre/containers/vs2015-windows) and [here](https://gitlab.com/codelibre/containers/tools-windows). Could the filesystem behaviour under docker be part of the problem?

See e.g. [this build log](https://gitlab.com/codelibre/containers/ome-files-build-windows-vs2015/-/jobs/95461742)

```
Building package xerces-c[core]:x64-windows...
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:74 (file):
file RENAME failed to rename

C:/vcpkg/downloads/temp

to

C:/vcpkg/downloads/temp0

because: No such file or directory

Call Stack (most recent call first):
scripts/cmake/vcpkg_from_github.cmake:108 (vcpkg_download_distfile)
ports/xerces-c/portfile.cmake:19 (vcpkg_from_github)
scripts/ports.cmake:71 (include)
```

I can't see any problem with the logic in the script; it's failing, but that shouldn't be possible. It should only try to rename the directory if it exists, so this condition should not occur.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.