Skip to content

[icu] mingw build failure #16663

@autoantwort

Description

@autoantwort

Host Environment

  • OS: MinGW
  • Compiler: gcc

To Reproduce
Steps to reproduce the behavior:
./vcpkg install icu --triplet=x64-mingw-static

Failure logs

Detecting compiler hash for triplet x64-mingw-static...
The following packages will be built and installed:
    icu[core]:x64-windows -> 67.1#9
    icu[core]:x64-mingw-static -> 67.1#9
Could not locate cached archive: C:\Users\LeanderSchulten\AppData\Local\vcpkg\archives\ce\ce87642cdcf80cb890a3871940903a1a568568ff.zip
Could not locate cached archive: C:\Users\LeanderSchulten\AppData\Local\vcpkg\archives\22\22fb302bc79cc76c9a2864b59825fd06d9256fdf.zip
Starting package 1/2: icu:x64-windows
Building package icu[core]:x64-windows...
...
Building package icu[core]:x64-windows... done
Installing package icu[core]:x64-windows...
Installing package icu[core]:x64-windows... done
Elapsed time for package icu:x64-windows: 4.925 min
Starting package 2/2: icu:x64-mingw-static
Building package icu[core]:x64-mingw-static...
-- Using community triplet x64-mingw-static. This triplet configuration is not guaranteed to succeed.
-- [COMMUNITY] Loading triplet configuration from: C:\Users\LeanderSchulten\git_projects\Lichtsteuerung.git\vcpkg\triplets\community\x64-mingw-static.cmake
-- Using cached C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/downloads/icu4c-67_1-src.tgz
-- Cleaning sources at C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/src/c-67_1-src-9bc26a0a66.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/downloads/icu4c-67_1-src.tgz
-- Applying patch C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/ports/icu/disable-escapestr-tool.patch
-- Applying patch C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/ports/icu/remove-MD-from-configure.patch
-- Applying patch C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/ports/icu/fix_parallel_build_on_windows.patch
-- Applying patch C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/ports/icu/fix-extra.patch
-- Applying patch C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/ports/icu/mingw-remove-bsymbolic.patch
-- Applying patch C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/ports/icu/mingw-remove-version-from-link-flags.patch
-- Using source at C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/src/c-67_1-src-9bc26a0a66.clean
-- Using msys root at C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/downloads/tools/msys2/6f93104a9f073c4a
-- Install to C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/x64-mingw-static-rel
-- Configuring x64-mingw-static-rel
-- Configuring x64-mingw-static-rel done
-- Configuring x64-mingw-static-dbg
-- Configuring x64-mingw-static-dbg done
-- Package x64-mingw-static-rel
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:144 (message):
    Command failed: C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/downloads/tools/msys2/6f93104a9f073c4a/usr/bin/bash.exe --noprofile --norc -c "make -j 9"
    Working Directory: C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/x64-mingw-static-rel
    See logs for more information:
      C:\Users\LeanderSchulten\git_projects\Lichtsteuerung.git\vcpkg\buildtrees\icu\make-build-x64-mingw-static-rel-out.log
      C:\Users\LeanderSchulten\git_projects\Lichtsteuerung.git\vcpkg\buildtrees\icu\make-build-x64-mingw-static-rel-err.log

Call Stack (most recent call first):
  ports/icu/portfile.cmake:179 (vcpkg_execute_build_process)
  scripts/ports.cmake:142 (include)


Error: Building package icu:x64-mingw-static 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-mingw-static
  Vcpkg version: 2021-01-13-d67989bce1043b98092ac45996a8230a059a2d7e

Additionally, attach any relevant sections from the log files above.
-- Running vcpkg install - failed
CMake Error at vcpkg/scripts/buildsystems/vcpkg.cmake:898 (message):
  vcpkg install failed.  See logs for more information:
  C:\Users\LeanderSchulten\git_projects\build-Lichtsteuerung.git-test-Debug\vcpkg-manifest-install.log
Call Stack (most recent call first):
  C:/Users/LeanderSchulten/git_projects/build-Lichtsteuerung.git-test-Debug/CMakeFiles/3.19.2/CMakeSystem.cmake:6 (include)
  CMakeLists.txt:16 (project)


-- Configuring incomplete, errors occurred!
See also "C:/Users/LeanderSchulten/git_projects/build-Lichtsteuerung.git-test-Debug/CMakeFiles/CMakeOutput.log".
CMake process exited with exit code 1.
Elapsed time: 07:47.

buildtrees\icu\make-build-x64-mingw-static-rel-err.log:

...
C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/src/c-67_1-src-8fd3dd9eeb.clean/source/common/cstring.h:43:70: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying between 1 and 5 bytes from a string of length 4 [-Wstringop-truncation]
 #define uprv_strncpy(dst, src, size) U_STANDARD_CPP_NAMESPACE strncpy(dst, src, size)
C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/src/c-67_1-src-8fd3dd9eeb.clean/source/tools/genrb/reslist.cpp:974:20: note: in expansion of macro 'uprv_strncpy'
                    uprv_strncpy(writtenFilename +  off, ".res", len);
                    ^~~~~~~~~~~~
C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/src/c-67_1-src-8fd3dd9eeb.clean/source/tools/pkgdata/pkgdata.cpp: In function 'int32_t pkg_getPkgDataPath(UBool, UOption*)':
C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/src/c-67_1-src-8fd3dd9eeb.clean/source/tools/pkgdata/pkgdata.cpp:2203:41: warning: unused parameter 'verbose' [-Wunused-parameter]
 static int32_t pkg_getPkgDataPath(UBool verbose, UOption *option) {
                                   ~~~~~~^~~~~~~
C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/src/c-67_1-src-8fd3dd9eeb.clean/source/tools/pkgdata/pkgdata.cpp:2203:59: warning: unused parameter 'option' [-Wunused-parameter]
 static int32_t pkg_getPkgDataPath(UBool verbose, UOption *option) {
                                                  ~~~~~~~~~^~~~~~
C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/src/c-67_1-src-8fd3dd9eeb.clean/source/tools/pkgdata/pkgdata.cpp: At global scope:
C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/src/c-67_1-src-8fd3dd9eeb.clean/source/tools/pkgdata/pkgdata.cpp:1303:16: warning: 'int32_t pkg_archiveLibrary(const char*, const char*, UBool)' defined but not used [-Wunused-function]
 static int32_t pkg_archiveLibrary(const char *targetDir, const char *version, UBool reverseExt) {
                ^~~~~~~~~~~~~~~~~~
x86_64-w64-mingw32-gcc.exe: error: ./out/tmpicudt67l_dat.S: No such file or directory
x86_64-w64-mingw32-gcc.exe: fatal error: no input files
compilation terminated.
-- return status = 1
Error creating with assembly code. Failed command: x86_64-w64-mingw32-gcc   -DHAVE_DLOPEN=0 -DU_HAVE_MMAP=0 -DU_HAVE_STRTOD_L=0  -DU_STATIC_IMPLEMENTATION -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DU_ATTRIBUTE_DEPRECATED= -O3    -std=c11 -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -mthreads  -c -IC:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/icu/src/c-67_1-src-8fd3dd9eeb.clean/source/common -I../common -DPIC  -o ./out/tmp\icudt67l_dat.o ./out/tmp\icudt67l_dat.S
Error generating assembly code for data.
make[1]: *** [Makefile:176: packagedata] Error 1
make: *** [Makefile:153: all-recursive] Error 2

Additional context
With ports\icu\mingw-remove-version-from-link-flags.patch

diff --git a/source/config/mh-mingw b/source/config/mh-mingw
index 7d77ec0..30f6e5b 100644
--- a/source/config/mh-mingw
+++ b/source/config/mh-mingw
@@ -101,11 +101,14 @@ LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
 #SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
 #SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
 
-#SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
+#SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_DT="-ls(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_LX="-ls$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_IO="-ls$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_UC="-ls$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_CTESTFW="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_TOOLUTIL="-ls$(ICUPREFIX)tu$(ICULIBSUFFIX)"
 #SH#
 #SH## ICULIBS is the set of libraries your application should link
 #SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well. 
diff --git a/source/config/mh-mingw64 b/source/config/mh-mingw64
index ca0b8d4..fb64c56 100644
--- a/source/config/mh-mingw64
+++ b/source/config/mh-mingw64
@@ -101,11 +101,14 @@ LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
 #SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
 #SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
 
-#SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
+#SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_DT="-ls$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_I18N="-ls$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_LX="-ls$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_IO="-ls$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_UC="-ls$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_CTESTFW="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)"
+ICULIBS_TOOLUTIL="-ls$(ICUPREFIX)tu$(ICULIBSUFFIX)"
 #SH#
 #SH## ICULIBS is the set of libraries your application should link
 #SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well. 

Metadata

Metadata

Assignees

No one assigned

    Labels

    category:community-tripletA PR or issue related to community triplets not officially validated by the vcpkg team.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions