Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[icu] build failure icu 70.1, error: Host path separator (:) in path; this is unsupported. #24138

Closed
chris-shenzhen-china opened this issue Apr 14, 2022 · 28 comments · Fixed by #23429 or #24823
Assignees
Labels
category:tool-update The issue is with build tool or build script, which requires update or should be executed correctly requires:more-information This Issue requires more information to solve

Comments

@chris-shenzhen-china
Copy link

Host Environment

  • OS: [centos 7.9]
  • Compiler: revision

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

Failure logs
[root@centos-dev vcpkg]# ./vcpkg install icu:x64-linux
Computing installation plan...
The following packages will be built and installed:
icu[core]:x64-linux -> 70.1
Detecting compiler hash for triplet x64-linux...
Restored 0 packages from /root/.cache/vcpkg/archives in 5.45 us. Use --debug to see more details.
Starting package 1/1: icu:x64-linux
Building package icu[core]:x64-linux...
-- Using cached icu4c-70_1-src.tgz.
-- Cleaning sources at /usr/work/vcpkg/buildtrees/icu/src/c-70_1-src-a6ee276eef.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /usr/work/vcpkg/downloads/icu4c-70_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
-- Applying patch fix-win-build.patch
-- Using source at /usr/work/vcpkg/buildtrees/icu/src/c-70_1-src-a6ee276eef.clean
-- Found external ninja('1.10.2').
-- Getting CMake variables for x64-linux-dbg
-- Getting CMake variables for x64-linux-rel
CMake Error at scripts/cmake/vcpkg_host_path_list.cmake:43 (message):
Host path separator (:) in path; this is unsupported.
Call Stack (most recent call first):
scripts/cmake/vcpkg_host_path_list.cmake:72 (z_vcpkg_translate_to_host_path_list)
scripts/cmake/vcpkg_configure_make.cmake:218 (vcpkg_host_path_list)
scripts/cmake/vcpkg_configure_make.cmake:548 (z_prepend_include_path)
ports/icu/portfile.cmake:52 (vcpkg_configure_make)
scripts/ports.cmake:145 (include)

error: building icu:x64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with git pull and ./vcpkg update.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+icu
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[icu]+Build+error
including:
package: icu[core]:x64-linux -> 70.1
vcpkg-tool version: 2022-03-30-692785ac944e81417840c6de244fb3e18a4b35eb
vcpkg-scripts version: 99346bb 2022-04-13 (14 hours ago)

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

@chris-shenzhen-china chris-shenzhen-china changed the title [<port name>] build failure icu 70.1, error: Host path separator (:) in path; this is unsupported. [<icu>] build failure icu 70.1, error: Host path separator (:) in path; this is unsupported. Apr 14, 2022
@chris-shenzhen-china chris-shenzhen-china changed the title [<icu>] build failure icu 70.1, error: Host path separator (:) in path; this is unsupported. [icu] build failure icu 70.1, error: Host path separator (:) in path; this is unsupported. Apr 14, 2022
@JackBoosY JackBoosY self-assigned this Apr 14, 2022
@JackBoosY JackBoosY added the category:tool-update The issue is with build tool or build script, which requires update or should be executed correctly label Apr 14, 2022
@JackBoosY
Copy link
Contributor

Will be fixed by #23429.

@chris-shenzhen-china
Copy link
Author

thanks your reply, by the way when?

@chris-shenzhen-china
Copy link
Author

today, I brand new install vcpkg and vcpkg install icu:x64-linux, do not work, os: centos 7.9

@JackBoosY
Copy link
Contributor

@chris-shenzhen-china Failure logs please?

@chris-shenzhen-china
Copy link
Author

chris-shenzhen-china commented May 10, 2022 via email

@JackBoosY JackBoosY reopened this May 10, 2022
@JackBoosY
Copy link
Contributor

@chris-shenzhen-china Can you please provide your environment variable value C_INCLUDE_PATH?

@BillyONeal This issue has the same problem with #22812 but it's in other environment variables.
In this case it's C_INCLUDE_PATH.

@chris-shenzhen-china
Copy link
Author

[root@centos-dev vcpkg-new]# echo $C_INCLUDE_PATH
:/opt/rh/devtoolset-11/root/usr/include

@JackBoosY
Copy link
Contributor

Can you please test my PR #24653 whether it works?

Thanks.

@chris-shenzhen-china
Copy link
Author

chris-shenzhen-china commented May 11, 2022 via email

@JackBoosY
Copy link
Contributor

@chris-shenzhen-china Check my changes and modify it in your vcpkg, then try to install icu.

@JackBoosY
Copy link
Contributor

I think this is not related to the envronment C_INCLUDE_PATH contains :, can you please add extra option --x-cmake-args=--trace-expand to the install command, rerun the install then provide the full output?

Thanks.

@JackBoosY JackBoosY added the requires:more-information This Issue requires more information to solve label May 20, 2022
@dg0yt
Copy link
Contributor

dg0yt commented May 20, 2022

I think this is not related to the envronment C_INCLUDE_PATH contains :, can you please add extra option --x-cmake-args=--trace-expand to the install command, rerun the install then provide the full output?

Thanks.

It is easily reproducible on x64-linux:

$ export C_INCLUDE_PATH=$PWD/installed/x64-linux/include:$PWD/installed/x64-linux/include
$ ./vcpkg install icu

@chris-shenzhen-china
Copy link
Author

chris-shenzhen-china commented May 20, 2022 via email

@chris-shenzhen-china
Copy link
Author

chris-shenzhen-china commented May 25, 2022

ar: creating libicudata.a
.././../src/c-71_1-src-08c83f7de1.clean/source/common/brkiter.cpp:282:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce gInitOnceBrkiter = U_INITONCE_INITIALIZER;
                      ^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/characterproperties.cpp:45:11: warning: declaration requires a global destructor [-Wglobal-constructors]
Inclusion gInclusions[NUM_INCLUSIONS]; // cached getInclusions()
          ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/characterproperties.cpp:51:13: warning: declaration requires a global destructor [-Wglobal-constructors]
icu::UMutex cpMutex;
            ^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/emojiprops.cpp:25:16: warning: declaration requires a global destructor [-Wglobal-constructors]
icu::UInitOnce emojiInitOnce = U_INITONCE_INITIALIZER;
               ^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/loadednormalizer2impl.cpp:141:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce nfkcInitOnce = U_INITONCE_INITIALIZER;
                      ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/loadednormalizer2impl.cpp:144:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce nfkc_cfInitOnce = U_INITONCE_INITIALIZER;
                      ^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locavailable.cpp:40:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce gInitOnceLocale = U_INITONCE_INITIALIZER;
                      ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locavailable.cpp:105:16: warning: declaration requires a global destructor [-Wglobal-constructors]
icu::UInitOnce ginstalledLocalesInitOnce = U_INITONCE_INITIALIZER;
               ^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locdistance.cpp:48:11: warning: declaration requires a global destructor [-Wglobal-constructors]
UInitOnce gInitOnce = U_INITONCE_INITIALIZER;
          ^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/loclikelysubtags.cpp:248:11: warning: declaration requires a global destructor [-Wglobal-constructors]
UInitOnce gInitOnce = U_INITONCE_INITIALIZER;
          ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locid.cpp:67:18: warning: declaration requires a global destructor [-Wglobal-constructors]
static UInitOnce gLocaleCacheInitOnce = U_INITONCE_INITIALIZER;
                 ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locid.cpp:70:15: warning: declaration requires a global destructor [-Wglobal-constructors]
static UMutex gDefaultLocaleMutex;
              ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locid.cpp:494:11: warning: declaration requires a global destructor [-Wglobal-constructors]
UInitOnce gKnownCanonicalizedInitOnce = U_INITONCE_INITIALIZER;
          ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locid.cpp:685:22: warning: declaration requires a global destructor [-Wglobal-constructors]
UInitOnce AliasData::gInitOnce = U_INITONCE_INITIALIZER;
                     ^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locutil.cpp:24:25: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce   LocaleUtilityInitOnce = U_INITONCE_INITIALIZER;
                        ^
1 warning generated.
4 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/normalizer2.cpp:186:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce noopInitOnce = U_INITONCE_INITIALIZER;
                      ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/normalizer2.cpp:248:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce nfcInitOnce = U_INITONCE_INITIALIZER;
                      ^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/putil.cpp:1263:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce gDataDirInitOnce = U_INITONCE_INITIALIZER;
                      ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/putil.cpp:1266:11: warning: declaration requires a global destructor [-Wglobal-constructors]
UInitOnce gTimeZoneFilesInitOnce = U_INITONCE_INITIALIZER;
          ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/unicode/urename.h:122:32: note: expanded from macro 'gTimeZoneFilesInitOnce'
#define gTimeZoneFilesInitOnce U_ICU_ENTRY_POINT_RENAME(gTimeZoneFilesInitOnce)
                               ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/unicode/uvernum.h:130:47: note: expanded from macro 'U_ICU_ENTRY_POINT_RENAME'
#       define U_ICU_ENTRY_POINT_RENAME(x)    U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
                                              ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/unicode/uvernum.h:129:51: note: expanded from macro 'U_DEF2_ICU_ENTRY_POINT_RENAME'
#       define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
                                                  ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/unicode/uvernum.h:128:50: note: expanded from macro 'U_DEF_ICU_ENTRY_POINT_RENAME'
#       define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
                                                 ^
<scratch space>:30:1: note: expanded from here
gTimeZoneFilesInitOnce_71
^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/rbbi.cpp:1156:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce gLanguageBreakFactoriesInitOnce = U_INITONCE_INITIALIZER;
                      ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/rbbi.cpp:1157:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce gRBBIInitOnce = U_INITONCE_INITIALIZER;
                      ^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/serv.cpp:330:15: warning: declaration requires a global destructor [-Wglobal-constructors]
static UMutex lock;
              ^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/servnotf.cpp:24:15: warning: declaration requires a global destructor [-Wglobal-constructors]
static UMutex notifyLock;
              ^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/static_unicode_sets.cpp:132:16: warning: declaration requires a global destructor [-Wglobal-constructors]
icu::UInitOnce gNumberParseUniSetsInitOnce = U_INITONCE_INITIALIZER;
               ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:40:34: error: no member named 'max_align_t' in namespace 'std'; did you mean simply 'max_align_t'?
    return (sizeInBytes + sizeof(std::max_align_t) - 1) / sizeof(std::max_align_t);
                                 ^~~~~
/usr/bin/../lib/clang/3.4.2/include/stddef.h:94:3: note: 'max_align_t' declared here
} max_align_t;
  ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:40:66: error: no member named 'max_align_t' in namespace 'std'; did you mean simply 'max_align_t'?
    return (sizeInBytes + sizeof(std::max_align_t) - 1) / sizeof(std::max_align_t);
                                                                 ^~~~~
/usr/bin/../lib/clang/3.4.2/include/stddef.h:94:3: note: 'max_align_t' declared here
} max_align_t;
  ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:39:26: error: no return statement in constexpr function
static constexpr int32_t sizeInMaxAlignTs(int32_t sizeInBytes) {
                         ^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:144:31: error: no member named 'max_align_t' in namespace 'std'
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE)> v;
                         ~~~~~^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:144:79: error: C++ requires a type specifier for all declarations
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE)> v;
                                                                              ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:238:31: error: no member named 'max_align_t' in namespace 'std'
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE) * 2> xw;
                         ~~~~~^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:238:83: error: C++ requires a type specifier for all declarations
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE) * 2> xw;
                                                                                  ^~
7 errors generated.
make[1]: *** [uarrsort.ao] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [all-recursive] Error 2

@chris-shenzhen-china
Copy link
Author

today,ubuntu1804 install icu success, but centos 7.9 failed, error info: no member named 'max_align_t' in namespace 'std'; did you mean simply 'max_align_t'?

@JackBoosY
Copy link
Contributor

.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:40:34: error: no member named 'max_align_t' in namespace 'std'; did you mean simply 'max_align_t'?
    return (sizeInBytes + sizeof(std::max_align_t) - 1) / sizeof(std::max_align_t);
                                 ^~~~~
/usr/bin/../lib/clang/3.4.2/include/stddef.h:94:3: note: 'max_align_t' declared here
} max_align_t;
  ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:40:66: error: no member named 'max_align_t' in namespace 'std'; did you mean simply 'max_align_t'?
    return (sizeInBytes + sizeof(std::max_align_t) - 1) / sizeof(std::max_align_t);
                                                                 ^~~~~
/usr/bin/../lib/clang/3.4.2/include/stddef.h:94:3: note: 'max_align_t' declared here
} max_align_t;
  ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:39:26: error: no return statement in constexpr function
static constexpr int32_t sizeInMaxAlignTs(int32_t sizeInBytes) {
                         ^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:144:31: error: no member named 'max_align_t' in namespace 'std'
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE)> v;
                         ~~~~~^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:144:79: error: C++ requires a type specifier for all declarations
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE)> v;
                                                                              ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:238:31: error: no member named 'max_align_t' in namespace 'std'
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE) * 2> xw;
                         ~~~~~^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:238:83: error: C++ requires a type specifier for all declarations
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE) * 2> xw;

Which gcc version do you use?

@chris-shenzhen-china
Copy link
Author

root@centos-dev vcpkg]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-11/root/usr --mandir=/opt/rh/devtoolset-11/root/usr/share/man --infodir=/opt/rh/devtoolset-11/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-11.2.1-20210728/obj-x86_64-redhat-linux/isl-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.2.1 20210728 (Red Hat 11.2.1-1) (GCC)
You have new mail in /var/spool/mail/root
[root@centos-dev vcpkg]#

@chris-shenzhen-china
Copy link
Author

root@centos-dev vcpkg]# clang -v
clang version 3.4.2 (tags/RELEASE_34/dot2-final)
Target: x86_64-redhat-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.2
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.8.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.8.5
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5
[root@centos-dev vcpkg]#

@chris-shenzhen-china
Copy link
Author

but clang version is old

@JackBoosY
Copy link
Contributor

Can you please provide the full log?

@chris-shenzhen-china
Copy link
Author

@dg0yt
Copy link
Contributor

dg0yt commented May 26, 2022

We solved the "Host path separator (:) in path; this is unsupported" issue. Can new issues be treated in new GH issues?

@chris-shenzhen-china
Copy link
Author

sure

@JackBoosY
Copy link
Contributor

JackBoosY commented May 26, 2022

Should be the same issue with catchorg/Catch2#334.
Maybe related: https://reviews.llvm.org/rGe813984b431992a14cb02ea3ebfabd816e431f6e

@chris-shenzhen-china
Copy link
Author

chris-shenzhen-china commented May 26, 2022

  1. yum remove clang
    ./vcpkg install icu
    success.
  2. upgrade clang to version 14.04,
    ./vcpkg install icu
    success

many thanks.

@chris-shenzhen-china
Copy link
Author

chris-shenzhen-china commented Oct 11, 2022 via email

@JackBoosY
Copy link
Contributor

Host path separator (:) in path; this is unsupported.

Which path did you clone your vcpkg?

@dg0yt
Copy link
Contributor

dg0yt commented Oct 11, 2022

vcpkg-tool version: 2022-03-30-692785ac944e81417840c6de244fb3e18a4b35eb
vcpkg-scripts version: https://github.com/microsoft/vcpkg/commit/0d7603c4efc351da97b43c1952ba943e76f9b35f 2022-05-09 (66 minutes ago)

You must upgrade to receive bug fixes.

git pull
./booststrap.sh
./vcpkg upgrade --no-dry-run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:tool-update The issue is with build tool or build script, which requires update or should be executed correctly requires:more-information This Issue requires more information to solve
Projects
None yet
3 participants