Skip to content

[gettext:arm64-windows] build failure (and possibly other ports), culprit: af3c99b #15737

@past-due

Description

@past-due

Host Environment

  • OS: Windows 10, x64
  • Compiler: MSVC 2019 (latest)

To Reproduce
Steps to reproduce the behavior:
./vcpkg install gettext:arm64-windows

Failure logs

-- Building arm64-windows-dbg
CMake Error at scripts/cmake/vcpkg_build_make.cmake:205 (message):
  libtool could not find a file being linked against!
Call Stack (most recent call first):
  scripts/cmake/vcpkg_install_make.cmake:26 (vcpkg_build_make)
  ports/gettext/portfile.cmake:59 (vcpkg_install_make)
  scripts/ports.cmake:137 (include)
[...]
libtool: compile:  compile cl.exe -DHAVE_CONFIG_H -I. -I.././../src/0.21-73e9069d8f.clean/gettext-runtime/intl -I.. -DLOCALEDIR=\"/C/Users/pastdue/src/vcpkg/installed/arm64-windows/debug/share/gettext/locale\" -DLOCALE_ALIAS_PATH=\"\" -DLIBDIR=\"/C/Users/pastdue/src/vcpkg/installed/arm64-windows/debug/lib\" -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -D__USE_MINGW_ANSI_STDIO=0 -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"/C/Users/pastdue/src/vcpkg/installed/arm64-windows/debug/lib\" -DNO_XMALLOC -Dset_relocation_prefix=libintl_set_relocation_prefix -Drelocate=libintl_relocate -Drelocate2=libintl_relocate2 -DDEPENDS_ON_LIBICONV=1 -DWIN32 -D_WINDOWS -D_DEBUG -nologo -W3 -utf-8 -MP -MDd -Z7 -Ob0 -RTC1 -Od -c .././../src/0.21-73e9069d8f.clean/gettext-runtime/intl/localename-table.c  -DDLL_EXPORT -DPIC -o .libs/localename-table.obj
localename-table.c
Makefile:1643: update target 'libintl.la' due to: bindtextdom.lo dcgettext.lo dgettext.lo gettext.lo finddomain.lo hash-string.lo loadmsgcat.lo localealias.lo textdomain.lo l10nflist.lo explodename.lo dcigettext.lo dcngettext.lo dngettext.lo ngettext.lo plural.lo plural-exp.lo localcharset.lo threadlib.lo lock.lo relocatable.lo langprefs.lo localename.lo localename-table.lo log.lo printf.lo setlocale.lo setlocale-lock.lo setlocale_null.lo version.lo xsize.lo osdep.lo intl-compat.lo windows-mutex.lo windows-rwlock.lo windows-recmutex.lo windows-once.lo libintl.res.lo
/bin/sh ../libtool  --tag=CC   --mode=link compile cl.exe  -nologo -W3 -utf-8 -MP -MDd -Z7 -Ob0 -Od -Xcompiler -RTC1 -Wl,--export-all-symbols -liconv  -ladvapi32 -no-undefined -export-symbols-regex '^([^g]|g[^l]|gl[^w]|glw[^t]|glwt[^h]|glwth[^r]|glwthr[^e]|glwthre[^a]|glwthrea[^d]).*' -version-info 10:0:2 -rpath /C/Users/pastdue/src/vcpkg/installed/arm64-windows/debug/lib -LC:/Users/pastdue/src/vcpkg/installed/arm64-windows/debug/lib -LC:/Users/pastdue/src/vcpkg/installed/arm64-windows/debug/lib/manual-link -Wl,--disable-auto-import -o libintl.la  bindtextdom.lo dcgettext.lo dgettext.lo gettext.lo finddomain.lo hash-string.lo loadmsgcat.lo localealias.lo textdomain.lo l10nflist.lo explodename.lo dcigettext.lo dcngettext.lo dngettext.lo ngettext.lo plural.lo plural-exp.lo localcharset.lo threadlib.lo lock.lo relocatable.lo langprefs.lo localename.lo localename-table.lo log.lo printf.lo setlocale.lo setlocale-lock.lo setlocale_null.lo version.lo xsize.lo osdep.lo intl-compat.lo windows-mutex.lo windows-rwlock.lo windows-recmutex.lo windows-once.lo libintl.res.lo -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -lcomdlg32 -ladvapi32

*** Warning: linker path does not have real file for library -liconv.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with iconv and none of the candidates passed a file format test
*** using a file magic. Last file checked: /usr/bin/iconv.exe
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.

*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
libtool: link: ar-lib lib.exe cru .libs/intl.lib .libs/bindtextdom.obj .libs/dcgettext.obj .libs/dgettext.obj .libs/gettext.obj .libs/finddomain.obj .libs/hash-string.obj .libs/loadmsgcat.obj .libs/localealias.obj .libs/textdomain.obj .libs/l10nflist.obj .libs/explodename.obj .libs/dcigettext.obj .libs/dcngettext.obj .libs/dngettext.obj .libs/ngettext.obj .libs/plural.obj .libs/plural-exp.obj .libs/localcharset.obj .libs/threadlib.obj .libs/lock.obj .libs/relocatable.obj .libs/langprefs.obj .libs/localename.obj .libs/localename-table.obj .libs/log.obj .libs/printf.obj .libs/setlocale.obj .libs/setlocale-lock.obj .libs/setlocale_null.obj .libs/version.obj .libs/xsize.obj .libs/osdep.obj .libs/intl-compat.obj .libs/windows-mutex.obj .libs/windows-rwlock.obj .libs/windows-recmutex.obj .libs/windows-once.obj .libs/libintl.res.obj
libtool: link: : .libs/intl.lib
libtool: link: ( cd ".libs" && rm -f "libintl.la" && cp -pR "../libintl.la" "libintl.la" )
make[1]: Leaving directory '/cygdrive/c/Users/pastdue/src/vcpkg/buildtrees/gettext/arm64-windows-dbg/intl'

Additional context
A git bisect reveals that:
3ddaeb4 - works
af3c99b - breaks gettext:arm64-windows (and possibly other ports as well)

@Neumann-A

Metadata

Metadata

Assignees

Labels

category:tool-updateThe issue is with build tool or build script, which requires update or should be executed correctly

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions