Package: icu:x64-windows
Vcpkg version: 0.0.113-nohash
Trying to build icu, while installing tesseract package, gives:
.....
-- Acquiring MSYS2... OK
-- Acquiring MSYS Packages...
-- Acquiring MSYS Packages... OK
-- Configuring x64-windows-rel
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:56 (message):
Command failed: C:/Program Files/vcpkg-master/downloads/tools/msys2/msys64/usr/bin/bash.exe;--noprofile;--norc;-c;C:/Program Files/vcpkg-master/buildtrees/icu/src/icu-61.1/icu/source/runConfigureICU MSYS/MSVC --disable-samples --disable-tests --disable-static --enable-shared --host=i686-pc-mingw32 --disable-debug --enable-release --prefix=C:/Program Files/vcpkg-master/packages/icu_x64-windows
Working Directory: C:/Program Files/vcpkg-master/buildtrees/icu/x64-windows-rel
See logs for more information:
C:\Program Files\vcpkg-master\buildtrees\icu\configure-x64-windows-rel-err.log
Call Stack (most recent call first):
ports/icu/portfile.cmake:97 (vcpkg_execute_required_process)
scripts/ports.cmake:71 (include)
Error: Building package icu:x64-windows failed with: BUILD_FAILED
There is only one line in the icu\configure-x64-windows-rel-err.log file:
/usr/bin/bash: C:/Program: No such file or directory
Looks like the script doesn't not handle properly the file name "Program Files" of the directory (two words separated by a blank)?
Thanks in advance for your help.
I confirm that installing vcpkg under "C:/program files" (or any directory name made of 2 words seperated by a blank) is the cause of the problem above.
Turnaround: Put vcpkg-master directly under "C:/" and it works fine.
The script that install the icu package seems to be sensitive to the presence of blanks in the name of the directory in which vcpkg is installed, whereas it is not the case for other packages made available in vcpkg.
Hope it helps.
Not just icu. Many implementations of vcpkg ports do not consider the case with spaces in the path. This is really not a good design.
不仅仅是icu。vcpkg很多ports的实现都没考虑路径中带空格的情况。这确实不是一个好的的设计。
This is good to know!
Hi @gnu-lorien , thanks for reporting this issue!
The .mk file used in icu needs to include a header file with a space path, but makefile cannot use double quotes to solve this problem currently. So we cannot fix this issue now. :(
I confirm that installing vcpkg under "C:/program files" (or any directory name made of 2 words seperated by a blank) is the cause of the problem above.
Turnaround: Put vcpkg-master directly under "C:/" and it works fine.The script that install the icu package seems to be sensitive to the presence of blanks in the name of the directory in which vcpkg is installed, whereas it is not the case for other packages made available in vcpkg.
Hope it helps.
or under a directory without Chinese name, haha
Most helpful comment
I confirm that installing vcpkg under "C:/program files" (or any directory name made of 2 words seperated by a blank) is the cause of the problem above.
Turnaround: Put vcpkg-master directly under "C:/" and it works fine.
The script that install the icu package seems to be sensitive to the presence of blanks in the name of the directory in which vcpkg is installed, whereas it is not the case for other packages made available in vcpkg.
Hope it helps.