microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
23.27k stars 6.42k forks source link

[icu:x64-windows] build failure #18992

Closed Erxl closed 3 years ago

Erxl commented 3 years ago

Host Environment

To Reproduce Steps to reproduce the behavior: ./vcpkg install icu:x64-windows

Failure logs

C:\Program Files\vcpkg>vcpkg install icu:x64-windows
Computing installation plan...
The following packages will be built and installed:
    icu[core]:x64-windows -> 69.1#10
Detecting compiler hash for triplet x64-windows...
Could not locate cached archive: C:\Users\Erxl\AppData\Local\vcpkg\archives\ff\ff54c0d5dc9a3aa51159d02319d04a31f2d3dc4f34ad7defc6807d89d54cfadd.zip
Starting package 1/1: icu:x64-windows
Building package icu[core]:x64-windows...
-- Using C:/Program Files/vcpkg/downloads/icu4c-69_1-src.tgz
-- Cleaning sources at C:/Program Files/vcpkg/buildtrees/icu/src/c-69_1-src-78c1b28057.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/Program Files/vcpkg/downloads/icu4c-69_1-src.tgz
-- Applying patch C:/Program Files/vcpkg/ports/icu/disable-escapestr-tool.patch
-- Applying patch C:/Program Files/vcpkg/ports/icu/remove-MD-from-configure.patch
-- Applying patch C:/Program Files/vcpkg/ports/icu/fix_parallel_build_on_windows.patch
-- Applying patch C:/Program Files/vcpkg/ports/icu/fix-extra.patch
-- Using source at C:/Program Files/vcpkg/buildtrees/icu/src/c-69_1-src-78c1b28057.clean
-- Downloading https://www.python.org/ftp/python/3.9.6/python-3.9.6-embed-amd64.zip -> python-3.9.6-embed-amd64.zip...
-- Found external ninja('1.10.2').
-- Configuring x64-windows
CMake Warning at scripts/cmake/vcpkg_configure_make.cmake:300 (message):
  Detected whitespace in root directory.  Please move the path to one without
  whitespaces! The required tools do not handle whitespaces correctly and the
  build will most likely fail
Call Stack (most recent call first):
  ports/icu/portfile.cmake:49 (vcpkg_configure_make)
  scripts/ports.cmake:140 (include)

-- Using msys root at C:/Program Files/vcpkg/downloads/tools/msys2/703e5aa15d402568
-- Using msys root at C:/Program Files/vcpkg/downloads/tools/msys2/aa5af7b2aa7e90e8
-- Configuring x64-windows-dbg
-- Configuring x64-windows-rel
-- Using msys root at C:/Program Files/vcpkg/downloads/tools/msys2/aaafe87dcead272e
-- Building x64-windows-dbg
-- Installing x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:155 (message):
    Command failed: "C:/Program Files/vcpkg/downloads/tools/msys2/703e5aa15d402568/usr/bin/make.exe" -j 9 --trace -f Makefile install "DESTDIR=/C/Program\\ Files/vcpkg/packages/icu_x64-windows"
    Working Directory: C:/Program Files/vcpkg/buildtrees/icu/x64-windows-dbg
    See logs for more information:
      C:\Program Files\vcpkg\buildtrees\icu\install-x64-windows-dbg-out.log
      C:\Program Files\vcpkg\buildtrees\icu\install-x64-windows-dbg-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_make.cmake:214 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_make.cmake:26 (vcpkg_build_make)
  ports/icu/portfile.cmake:136 (vcpkg_install_make)
  scripts/ports.cmake:140 (include)

Error: Building package icu:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: icu:x64-windows
  Vcpkg version: 2021-05-05-e8977e69d9a3fb462d9ad42013d83a7682706659

Additionally, attach any relevant sections from the log files above.

C:\Program Files\vcpkg>

Additional context Add any other context about the problem here, such as what you have already tried to resolve the issue. install-x64-windows-dbg-err.log install-x64-windows-dbg-out.log

dg0yt commented 3 years ago

Citing above output:

-- Using source at C:/Program Files/vcpkg/buildtrees/icu/src/c-69_1-src-78c1b28057.clean
...
-- Configuring x64-windows
CMake Warning at scripts/cmake/vcpkg_configure_make.cmake:300 (message):
  Detected whitespace in root directory.  Please move the path to one without
  whitespaces! The required tools do not handle whitespaces correctly and the
  build will most likely fail
autoantwort commented 3 years ago

Yeah it is an white space issue, there is a white space in Program Files

JonLiu1993 commented 3 years ago

@Erxl ,Please move the path to one without whitespaces! The required tools do not handle whitespaces correctly and the build will most likely fail

JackBoosY commented 3 years ago

It is usually not a good choice to use a path with spaces in cross-compilation.

JonLiu1993 commented 3 years ago

@Erxl ,Does this problem still exist?

yuanbaopapa commented 3 years ago

I have the same problem, but my installation path has no white space

yuanbaopapa commented 3 years ago

vcpkg install icu Computing installation plan... The following packages will be built and installed: icu[core]:x64-windows -> 69.1#14 Detecting compiler hash for triplet x64-windows... -- Using HTTP(S)_PROXY in environment variables. Restored 0 packages from C:\Users\ybpapa\AppData\Local\vcpkg\archives in 439.1 us. Use --debug to see more details. Starting package 1/1: icu:x64-windows Building package icu[core]:x64-windows... -- Downloading https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-src.tgz -> icu4c-69_1-src.tgz... -- Cleaning sources at C:/dev/common/tools/vcpkg/buildtrees/icu/src/c-69_1-src-78c1b28057.clean. Use --editable to skip cleaning for the packages you specify. -- Extracting source C:/dev/common/tools/vcpkg/downloads/icu4c-69_1-src.tgz -- Applying patch C:/dev/common/tools/vcpkg/ports/icu/disable-escapestr-tool.patch -- Applying patch C:/dev/common/tools/vcpkg/ports/icu/remove-MD-from-configure.patch -- Applying patch C:/dev/common/tools/vcpkg/ports/icu/fix_parallel_build_on_windows.patch -- Applying patch C:/dev/common/tools/vcpkg/ports/icu/fix-extra.patch -- Using source at C:/dev/common/tools/vcpkg/buildtrees/icu/src/c-69_1-src-78c1b28057.clean -- Found external ninja('1.10.2'). -- Getting CMake variables for x64-windows -- Downloading https://repo.msys2.org/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz;https://www2.futureware.at/~nickoe/msys2-mirror/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz;https://mirror.yandex.ru/mirrors/msys2/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz;https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz;https://mirrors.ustc.edu.cn/msys2/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz;https://mirror.bit.edu.cn/msys2/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz;https://mirror.selfnet.de/msys2/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz;https://mirrors.sjtug.sjtu.edu.cn/msys2/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz -> msys-bash-4.4.023-2-x86_64.pkg.tar.xz... -- Downloading https://repo.msys2.org/msys/x86_64/autoconf-2.71-1-any.pkg.tar.zst;https://www2.futureware.at/~nickoe/msys2-mirror/msys/x86_64/autoconf-2.71-1-any.pkg.tar.zst;https://mirror.yandex.ru/mirrors/msys2/msys/x86_64/autoconf-2.71-1-any.pkg.tar.zst;https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/x86_64/autoconf-2.71-1-any.pkg.tar.zst;https://mirrors.ustc.edu.cn/msys2/msys/x86_64/autoconf-2.71-1-any.pkg.tar.zst;https://mirror.bit.edu.cn/msys2/msys/x86_64/autoconf-2.71-1-any.pkg.tar.zst;https://mirror.selfnet.de/msys2/msys/x86_64/autoconf-2.71-1-any.pkg.tar.zst;https://mirrors.sjtug.sjtu.edu.cn/msys2/msys/x86_64/autoconf-2.71-1-any.pkg.tar.zst -> msys-autoconf-2.71-1-any.pkg.tar.zst... -- Using msys root at C:/dev/common/tools/vcpkg/downloads/tools/msys2/aa5af7b2aa7e90e8 -- Configuring x64-windows-dbg -- Configuring x64-windows-rel -- Building x64-windows-dbg -- Installing x64-windows-dbg CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:155 (message): Command failed: C:/dev/common/tools/vcpkg/downloads/tools/msys2/8a1f6fda6ae3aa5c/usr/bin/make.exe -j 9 --trace -f Makefile install DESTDIR=/C/dev/common/tools/vcpkg/packages/icu_x64-windows Working Directory: C:/dev/common/tools/vcpkg/buildtrees/icu/x64-windows-dbg See logs for more information: C:\dev\common\tools\vcpkg\buildtrees\icu\install-x64-windows-dbg-out.log C:\dev\common\tools\vcpkg\buildtrees\icu\install-x64-windows-dbg-err.log

Call Stack (most recent call first): scripts/cmake/vcpkg_build_make.cmake:210 (vcpkg_execute_build_process) scripts/cmake/vcpkg_install_make.cmake:26 (vcpkg_build_make) ports/icu/portfile.cmake:124 (vcpkg_install_make) scripts/ports.cmake:140 (include)

Error: Building package icu:x64-windows failed with: BUILD_FAILED Please ensure you're using the latest portfiles with .\vcpkg update, then submit an issue at https://github.com/Microsoft/vcpkg/issues including: Package: icu:x64-windows Vcpkg version: 2021-09-10-2059ef11aa6067e6f59b0d939c5d17e3c5c47d3e

Additionally, attach any relevant sections from the log files above.

C:\dev\common\tools\vcpkg (master -> origin)

yuanbaopapa commented 3 years ago

C:\dev is a symlink to E:\dev ,I don't know if this is what caused the problem.

autoantwort commented 3 years ago

You don't have this problem, you have #18086. But this is fixed. Please update vcpkg by git pull

yuanbaopapa commented 3 years ago

thanks , it helps

JonLiu1993 commented 3 years ago

@yuanbaopapa ,Please let me know if this issue have be sloved?

yuanbaopapa commented 3 years ago

vcpkg install icu --editable

Computing installation plan...
The following packages will be built and installed:
icu[core]:x64-windows -> 69.1#15
Restored 0 packages from C:\Users\ybpapa\AppData\Local\vcpkg\archives in 239.3 us. Use --debug to see more details.
Starting package 1/1: icu:x64-windows
Building package icu[core]:x64-windows...
-- Using HTTP(S)_PROXY in environment variables.
-- Using cached icu4c-69_1-src.tgz.
-- Extracting source C:/develop/common/tools/vcpkg/downloads/icu4c-69_1-src.tgz
-- Applying patch disable-escapestr-tool.patch
-- Applying patch remove-MD-from-configure.patch
-- Applying patch fix_parallel_build_on_windows.patch
-- Applying patch fix-extra.patch
-- Applying patch mingw-dll-install.patch
-- Applying patch disable-static-prefix.patch
-- Using source at C:/develop/common/tools/vcpkg/buildtrees/icu/src/c-69_1-src-86e71a956d
-- Found external ninja('1.10.2').
-- Getting CMake variables for x64-windows
-- Using cached msys-gzip-1.10-1-x86_64.pkg.tar.xz.
-- Using cached msys-bash-4.4.023-2-x86_64.pkg.tar.xz.
-- Using cached msys-autoconf-2.71-1-any.pkg.tar.zst.
-- Using cached msys-diffutils-3.7-1-x86_64.pkg.tar.xz.
-- Using cached msys-binutils-2.34-4-x86_64.pkg.tar.zst.
-- Using cached msys-libtool-2.4.6-9-x86_64.pkg.tar.xz.
-- Using cached msys-file-5.39-1-x86_64.pkg.tar.zst.
-- Using cached msys-zlib-1.2.11-1-x86_64.pkg.tar.xz.
-- Using cached msys-libbz2-1.0.8-2-x86_64.pkg.tar.xz.
-- Using cached msys-coreutils-8.32-1-x86_64.pkg.tar.xz.
-- Using cached msys-grep-3.0-2-x86_64.pkg.tar.xz.
-- Using cached msys-sed-4.8-1-x86_64.pkg.tar.xz.
-- Using cached msys-libpcre-8.44-1-x86_64.pkg.tar.xz.
-- Using cached msys-m4-1.4.19-1-x86_64.pkg.tar.zst.
-- Using cached msys-automake-wrapper-11-1-any.pkg.tar.xz.
-- Using cached msys-gawk-5.1.0-1-x86_64.pkg.tar.xz.
-- Using cached msys-mpfr-4.1.0-1-x86_64.pkg.tar.zst.
-- Using cached msys-gmp-6.2.0-1-x86_64.pkg.tar.xz.
-- Using cached msys-libreadline-8.0.004-1-x86_64.pkg.tar.xz.
-- Using cached msys-ncurses-6.2-1-x86_64.pkg.tar.xz.
-- Using cached msys-automake1.16-1.16.3-1-any.pkg.tar.zst.
-- Using cached msys-perl-5.32.1-1-x86_64.pkg.tar.zst.
-- Using cached msys-libcrypt-2.1-3-x86_64.pkg.tar.zst.
-- Using cached msys-pkg-config-0.29.2-4-x86_64.pkg.tar.zst.
-- Using cached msys-make-4.3-1-x86_64.pkg.tar.xz.
-- Using cached msys-findutils-4.7.0-1-x86_64.pkg.tar.xz.
-- Using cached msys-libintl-0.19.8.1-1-x86_64.pkg.tar.xz.
-- Using cached msys-libiconv-1.16-2-x86_64.pkg.tar.zst.
-- Using cached msys-gcc-libs-9.3.0-1-x86_64.pkg.tar.xz.
-- Using cached msys-msys2-runtime-3.2.0-8-x86_64.pkg.tar.zst.
-- Using msys root at C:/develop/common/tools/vcpkg/downloads/tools/msys2/803521c5733336c9
-- Using cached msys-mingw-w64-i686-pkg-config-0.29.2-2-any.pkg.tar.zst.
-- Using cached msys-mingw-w64-i686-libwinpthread-git-8.0.0.5906.c9a21571-1-any.pkg.tar.zst.
-- Using msys root at C:/develop/common/tools/vcpkg/downloads/tools/msys2/aa5af7b2aa7e90e8
-- Configuring x64-windows-dbg
-- Configuring x64-windows-rel
-- Building x64-windows-dbg
-- Installing x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:155 (message):
Command failed: C:/develop/common/tools/vcpkg/downloads/tools/msys2/803521c5733336c9/usr/bin/make.exe -j 9 --trace -f Makefile install DESTDIR=/C/develop/common/tools/vcpkg/packages/icu_x64-windows
Working Directory: C:/develop/common/tools/vcpkg/buildtrees/icu/x64-windows-dbg
See logs for more information:
C:\develop\common\tools\vcpkg\buildtrees\icu\install-x64-windows-dbg-out.log
C:\develop\common\tools\vcpkg\buildtrees\icu\install-x64-windows-dbg-err.log

Call Stack (most recent call first):
scripts/cmake/vcpkg_build_make.cmake:199 (vcpkg_execute_build_process)
scripts/cmake/vcpkg_install_make.cmake:26 (vcpkg_build_make)
ports/icu/portfile.cmake:128 (vcpkg_install_make)
scripts/ports.cmake:142 (include)

Error: Building package icu:x64-windows failed with: BUILD_FAILED Please ensure you're using the latest portfiles with .\vcpkg update, then submit an issue at https://github.com/Microsoft/vcpkg/issues including: Package: icu:x64-windows Vcpkg version: 2021-09-10-2059ef11aa6067e6f59b0d939c5d17e3c5c47d3e

Additionally, attach any relevant sections from the log files above.

yuanbaopapa commented 3 years ago

git log -n 1 commit 843e0ba0d8f9c9c572e45564263eedfc7745e74f (HEAD -> master, origin/master, origin/HEAD)

vcpkg is updated to this commit,here are the log files install-x64-windows-dbg-err.log install-x64-windows-dbg-out.log

yuanbaopapa commented 3 years ago

I have confirmed this issue is caused by symlink. c:\develop is a symlink to e:\develop . There is no problem when I install icu under e:\develop

JackBoosY commented 3 years ago

MingW may cause problems when calling symlink.

dg0yt commented 3 years ago

In out.log:

Makefile:86: update target 'install-library' due to: all-local
/bin/sh .././../src/c-69_1-src-86e71a956d/source/mkinstalldirs /C/develop/common/tools/vcpkg/packages/icu_x64-windows/C/develop/common/tools/vcpkg/installed/x64-windows/debug/lib
...
./../src/c-69_1-src-86e71a956d/source/install-sh -c icudtd69.dll /C/develop/common/tools/vcpkg/packages/icu_x64-windows/C/develop/common/tools/vcpkg/installed/x64-windows/debug/lib

This is in subdir stubdata. The first command is using a different relative path to source than the second (failing according to err.log), but there is no evidence of changing the directory between the two. Well, the first command is expanded from $(SHELL) $(top_srcdir)/mkinstalldirs, expanded from MKINSTALLDIRS. The second command is expanded from INSTALL, expanded from INSTALL_PROGRAM, expanded from INSTALL-L. It is /usr/bin/install on macOS, but what is in your build directory's icudefs.mk?