You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
C:\src\EC\ToolChain\Poco>build.cmd
Your feedback is important to improve Vcpkg! Please take 3 minutes to complete our survey by running: vcpkg contact --survey
Computing installation plan...
The following packages will be built and installed:
* expat[core]:x86-windows-static
* libpng[core]:x86-windows-static
* libpq[core,openssl,zlib]:x86-windows-static
* openssl[core]:x86-windows-static
* openssl-windows[core]:x86-windows-static
* pcre[core]:x86-windows-static
poco[core]:x86-windows-static
* sqlite3[core]:x86-windows-static
* zlib[core]:x86-windows-static
Additional packages (*) will be modified to complete this operation.
A suitable version of powershell-core was not found (required v6.2.1). Downloading portable powershell-core v6.2.1...
Downloading powershell-core...
https://github.com/PowerShell/PowerShell/releases/download/v6.2.1/PowerShell-6.2.1-win-x86.zip -> C:\src\EC\ToolChain\Poco\vcpkg\downloads\PowerShell-6.2.1-win-x86.zip
Extracting powershell-core...
A suitable version of 7zip was not found (required v18.1.0). Downloading portable 7zip v18.1.0...
Downloading 7zip...
https://www.nuget.org/api/v2/package/7-Zip.CommandLine/18.1.0 -> C:\src\EC\ToolChain\Poco\vcpkg\downloads\7-zip.commandline.18.1.0.nupkg
Extracting 7zip...
Starting package 1/9: expat:x86-windows-static
Building package expat[core]:x86-windows-static...
vcpkg.exe has crashed.
Please send an email to:
[email protected]
containing a brief summary of what you were trying to do and the following data blob:
Version=2020.02.04-nohash
EXCEPTION='copy(p1, p2, options): invalid arguments: operation not permitted'
CMD=
vcpkg\vcpkg.exe|
install|
poco:x86-windows-static|
Additional context
It appears the when built using Visual Studio (as bootstrap-vcpkg.bat does), the VCPKG_USE_STD_FILESYSTEM define is not set. This causes the experimental C++ FS library to be used. When vcpkg runs, it downloads and extracts Powershell Core. After extracting the files, vcpkg attempts to copy pwsh.exe to Powershell.exe. This fails on a ReFS filesystem, because the method the experimental FS library uses to determine if a file exists does not check for FILE_ATTRIBUTE_INTEGRITY_STREAM.
When built using CMake, vcpkg works correctly. This is because CMake detects the C++17 support for std::filesystem and defines VCPKG_USE_STD_FILESYSTEM. The non-experimental FS library works correctly with the ReFS filesystem.
The text was updated successfully, but these errors were encountered:
I see that in #15474 the entire vcpkg tool was extracted to the separate https://github.com/microsoft/vcpkg-tool repository. That makes my reproduction steps in the original issue no longer relevant. It also means that contributing to the ports in this repo no longer requires building vcpkjg.exe, which is a nice improvement. So I think this issue has been resolved to my satisfaction. Thanks!
Describe the bug
Crash on Windows when built without CMake and run on a ReFS filesystem. It does work when built with CMake.
Environment
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Does not crash.
Failure logs
Additional context
It appears the when built using Visual Studio (as
bootstrap-vcpkg.bat
does), theVCPKG_USE_STD_FILESYSTEM
define is not set. This causes the experimental C++ FS library to be used. Whenvcpkg
runs, it downloads and extracts Powershell Core. After extracting the files,vcpkg
attempts to copypwsh.exe
toPowershell.exe
. This fails on a ReFS filesystem, because the method the experimental FS library uses to determine if a file exists does not check forFILE_ATTRIBUTE_INTEGRITY_STREAM
.When built using CMake, vcpkg works correctly. This is because CMake detects the C++17 support for std::filesystem and defines
VCPKG_USE_STD_FILESYSTEM
. The non-experimental FS library works correctly with the ReFS filesystem.The text was updated successfully, but these errors were encountered: