質問: windowsのtarがアーカイブからシンボリックリンクを抽出できません vcpkgでgtkをインストールしようとすると、抽出に失敗します libexpat-libexpat-r_2_2_6.tar.gz :building package expat[core]:x64-windows... -- downloading https://github.com/libexpat/libexpat/archive/r_2_2_6.tar.gz... -- extracting source c:/users/user/git/vcpkg/downloads/libexpat-libexpat-r_2_2_6.tar.gz cmake error at scripts/cmake/vcpkg_execute_required_process.cmake:56 (message): command failed: c:/program files/cmake/bin/cmake.exe;-e;tar;xjf;c:/users/user/git/vcpkg/downloads/libexpat-libexpat-r_2_2_6.tar.gz working directory: c:/users/user/git/vcpkg/buildtrees/expat/src/temp error code: 1 see logs for more information: c:\users\user\git\vcpkg\buildtrees\expat\extract-err.log extract-err.log:cmake error: problem with archive_write_header(): can't create '' cmake error: current file: libexpat-r_2_2_6/readme.md cmake error: problem extracting tar: c:/users/user/git/vcpkg/downloads/libexpat-libexpat-r_2_2_6.tar.gz また、tarを手動で実行すると、次のようになります。> tar xjf c:/users/user/git/vcpkg/downloads/libexpat-libexpat-r_2_2_6.tar.gz libexpat-r_2_2_6/readme.md: can't create '\\\\?\\c:\\users\\user\\git\\vcpkg\\buildtrees\\expat\\src\\temp\\libexpat-r_2_2_6\\readme.md' tar: error exit delayed from previous errors. バージョン: microsoft windows [バージョン10.0.17763.437] cmakeバージョン3.14.2 bsdtar 3.3.2-libarchive 3.3.2 zlib/1.2.5.f-ipp vcpkg 2018.11.23-nohash(commit 0907798) 編集:tarエラーが予想されます。問題は、予想される出力(extract-err.logを参照)が次のようになるはずのcmakeに現れます。cmake -e tar: warning: skipping symbolic link "libexpat-r_2_2_6/readme.md" -> "expat/readme.md". 編集:これはアクティブなcmakeの問題のようです https://gitlab.kitware.com/cmake/cmake/issues/19102
回答: alexej harmは、この問題の原因となる設定を見つけました https://gitlab.kitware.com/cmake/cmake/issues/19102#note_558431 。intl.cpl>管理>システムロケールの変更...のutf-8ベータは、cmake(3.14.2)が正しく機能するためにチェックを外す必要があります。