microsoft / vcpkg

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

[hunspell] build failure #17374

Closed vadi2 closed 3 years ago

vadi2 commented 3 years ago

Host Environment Ubuntu 16.04 in github actions.

To Reproduce Steps to reproduce the behavior: ./vcpkg install hunspell

Failure logs out log:

est -z "ca.po-update de.po-update es.po-update hu.po-update it.po-update pl.po-update pt_BR.po-update tg.po-update" || /usr/bin/make ca.po-update de.po-update es.po-update hu.po-update it.po-update pl.po-update pt_BR.po-update tg.po-update
make[4]: Entering directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
ca:
cd .././../src/v1.7.0-658f8373e7.clean/po && msgmerge  --lang=ca ca.po hunspell.pot -o ca.new.po
es:
cd .././../src/v1.7.0-658f8373e7.clean/po && msgmerge  --lang=es es.po hunspell.pot -o es.new.po
de:
cd .././../src/v1.7.0-658f8373e7.clean/po && msgmerge  --lang=de de.po hunspell.pot -o de.new.po
hu:
cd .././../src/v1.7.0-658f8373e7.clean/po && msgmerge  --lang=hu hu.po hunspell.pot -o hu.new.po
pl:
cd .././../src/v1.7.0-658f8373e7.clean/po && msgmerge  --lang=pl pl.po hunspell.pot -o pl.new.po
it:
cd .././../src/v1.7.0-658f8373e7.clean/po && msgmerge  --lang=it it.po hunspell.pot -o it.new.po
pt_BR:
cd .././../src/v1.7.0-658f8373e7.clean/po && msgmerge  --lang=pt_BR pt_BR.po hunspell.pot -o pt_BR.new.po
tg:
cd .././../src/v1.7.0-658f8373e7.clean/po && msgmerge  --lang=tg tg.po hunspell.pot -o tg.new.po
make[4]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
/usr/bin/make update-gmo
make[4]: Entering directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
cd .././../src/v1.7.0-658f8373e7.clean/po && rm -f ca.gmo && : -c --statistics --verbose -o ca.gmo ca.po
cd .././../src/v1.7.0-658f8373e7.clean/po && rm -f de.gmo && : -c --statistics --verbose -o de.gmo de.po
cd .././../src/v1.7.0-658f8373e7.clean/po && rm -f es.gmo && : -c --statistics --verbose -o es.gmo es.po
Makefile:182: recipe for target '.././../src/v1.7.0-658f8373e7.clean/po/ca.gmo' failed
Makefile:182: recipe for target '.././../src/v1.7.0-658f8373e7.clean/po/de.gmo' failed
Makefile:182: recipe for target '.././../src/v1.7.0-658f8373e7.clean/po/es.gmo' failed
make[4]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
Makefile:502: recipe for target 'update-po' failed
make[3]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
Makefile:473: recipe for target 'distdir' failed
make[2]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
Makefile:586: recipe for target 'distdir' failed
make[1]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg'
Makefile:685: recipe for target 'dist' failed

err log:

/bin/sh: 1: msgmerge: not found
/bin/sh: 1: msgmerge: not found
/bin/sh: 10: msgmerge: not found
msgmerge for ca.po failed!
/bin/sh: 1: msgmerge: not found
/bin/sh: 10: msgmerge: not found
msgmerge for de.po failed!
/bin/sh: 10: msgmerge: not found
msgmerge for es.po failed!
/bin/sh: 1: msgmerge: not found
/bin/sh: 10: msgmerge: not found
msgmerge for hu.po failed!
/bin/sh: 1: msgmerge: not found
/bin/sh: 1: msgmerge: not found
/bin/sh: 10: msgmerge: not found
msgmerge for pl.po failed!
/bin/sh: 10: msgmerge: not found
msgmerge for it.po failed!
/bin/sh: 1: msgmerge: not found
/bin/sh: 10: msgmerge: not found
msgmerge for pt_BR.po failed!
/bin/sh: 1: msgmerge: not found
/bin/sh: 10: msgmerge: not found
msgmerge for tg.po failed!
mv: cannot stat 't-ca.gmo': No such file or directory
make[4]: *** [.././../src/v1.7.0-658f8373e7.clean/po/ca.gmo] Error 1
make[4]: *** Waiting for unfinished jobs....
mv: cannot stat 't-de.gmo': No such file or directory
make[4]: *** [.././../src/v1.7.0-658f8373e7.clean/po/de.gmo] Error 1
mv: cannot stat 't-es.gmo': No such file or directory
make[4]: *** [.././../src/v1.7.0-658f8373e7.clean/po/es.gmo] Error 1
make[3]: *** [update-po] Error 2
make[2]: *** [distdir] Error 2
make[1]: *** [distdir] Error 1
make: *** [dist] Error 2

Additional context Worked fine as of 4b222f8d, broken as of latest mater.

JackBoosY commented 3 years ago

Can you re-install gettext using apt again?

Thanks.

vadi2 commented 3 years ago

I don't install gettext using apt - vcpkg pulls it in:

  Running 'vcpkg install --recurse @/home/runner/work/Mudlet/Mudlet/3rdparty/our-vcpkg-dependencies/vcpkg-x64-linux-dependencies --clean-after-build' in directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg' ...
  Computing installation plan...
  The following packages will be built and installed:
    * gettext[core,tools]:x64-linux -> 0.21#1
      hunspell[core]:x64-linux -> 1.7.0#3
    * libiconv[core]:x64-linux -> 1.16#8
      lua[core]:x64-linux -> 5.1.5-1 -- /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/../our-vcpkg-dependencies/lua
      pugixml[core]:x64-linux -> 1.11.4
      sqlite3[core]:x64-linux -> 3.35.4
      yajl[core]:x64-linux -> 2.1.0-1
  Additional packages (*) will be modified to complete this operation.
  Detecting compiler hash for triplet x64-linux...
  Could not locate cached archive: /home/runner/.cache/vcpkg/archives/e7/e7de485d792a374e90834b374e81faccad0b80bc.zip
  Could not locate cached archive: /home/runner/.cache/vcpkg/archives/f4/f40cfa983b61419355287b9180a11556c09d85a7.zip
  Could not locate cached archive: /home/runner/.cache/vcpkg/archives/c3/c3474cbef698a6f5929f98f25af0dcb97b322d7a.zip
  Could not locate cached archive: /home/runner/.cache/vcpkg/archives/06/0621fc3fe4c76d1f41bd21eeca3f77c8b909a7de.zip
  Could not locate cached archive: /home/runner/.cache/vcpkg/archives/dc/dc9d546fbcb6e7a2fe9305bfbed046febd450bab.zip
  Could not locate cached archive: /home/runner/.cache/vcpkg/archives/cf/cf61b94b5d206d12cbe7d47193c52b7d1063519c.zip
  Could not locate cached archive: /home/runner/.cache/vcpkg/archives/65/6551c8e8537b5cb5c73d0cc95098c58414676f40.zip
  Starting package 1/7: libiconv:x64-linux
  Building package libiconv[core]:x64-linux...
  -- Performing post-build validation
  -- Performing post-build validation done
  Stored binary cache: /home/runner/.cache/vcpkg/archives/e7/e7de485d792a374e90834b374e81faccad0b80bc.zip
  Building package libiconv[core]:x64-linux... done
  Installing package libiconv[core]:x64-linux...
  Installing package libiconv[core]:x64-linux... done
  Elapsed time for package libiconv:x64-linux: 24.41 ms
  Starting package 2/7: gettext:x64-linux
  Building package gettext[core,tools]:x64-linux...
  -- Performing post-build validation
  -- Performing post-build validation done
  Stored binary cache: /home/runner/.cache/vcpkg/archives/f4/f40cfa983b61419355287b9180a11556c09d85a7.zip
  Building package gettext[core,tools]:x64-linux... done
  Installing package gettext[core,tools]:x64-linux...
  Installing package gettext[core,tools]:x64-linux... done
  Elapsed time for package gettext:x64-linux: 16.93 ms
  Starting package 3/7: hunspell:x64-linux
  Building package hunspell[core]:x64-linux...
  -- Downloading https://github.com/hunspell/hunspell/archive/v1.7.0.tar.gz -> hunspell-hunspell-v1.7.0.tar.gz...
  -- Extracting source /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/downloads/hunspell-hunspell-v1.7.0.tar.gz
  -- Applying patch 0001_fix_unistd.patch
  -- Using source at /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/src/v1.7.0-658f8373e7.clean
  CMake Deprecation Warning at scripts/cmake/vcpkg_check_features.cmake:182 (message):
    calling `vcpkg_check_features` without the `FEATURES` keyword has been
    deprecated.

        Please add the `FEATURES` keyword to the call.
  Call Stack (most recent call first):
    ports/hunspell/portfile.cmake:10 (vcpkg_check_features)
    scripts/ports.cmake:142 (include)

  -- Configuring x64-linux-dbg
  -- Configuring x64-linux-rel
  -- Generating configure for x64-linux
  -- Finished generating configure for x64-linux
  -- Configuring x64-linux-dbg
  -- Configuring x64-linux-rel
  -- Building x64-linux-dbg
  CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:146 (message):
      Command failed: /usr/bin/make V=1 -j 3 -f Makefile dist
      Working Directory: /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg
      See logs for more information:
        /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/build-dist-x64-linux-dbg-out.log
        /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/build-dist-x64-linux-dbg-err.log

Would you like me to pre-install it using apt for a text?

JackBoosY commented 3 years ago

Sorry for late, does this issue still exist?

vadi2 commented 3 years ago

Yes - and it's an issue because it's blocking an update to the latest vcpkg, which is one of the solutions for fixing the 3221225477 error that occurs with CMake v3.21.

Using commit d417ae59d6e9aa20d9f812b5deb966645c54687d gives the following error logs (thank you for showing them inline now):

  Starting package 3/7: hunspell:x64-linux
  Building package hunspell[core]:x64-linux...
  [LogCollection][Start]File:'/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/build-dist-x64-linux-dbg-out.log':
  /usr/bin/make  dist-gzip am__post_remove_distdir='@:'
  make[1]: Entering directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg'
  /usr/bin/make  distdir-am
  make[2]: Entering directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg'
  if test -d "hunspell-1.7.0"; then find "hunspell-1.7.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "hunspell-1.7.0" || { sleep 5 && rm -rf "hunspell-1.7.0"; }; else :; fi
  test -d "hunspell-1.7.0" || mkdir "hunspell-1.7.0"
   (cd po && /usr/bin/make  top_distdir=../hunspell-1.7.0 distdir=../hunspell-1.7.0/po \
       am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
  make[3]: Entering directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
  test -z "update-po" || /usr/bin/make update-po
  make[4]: Entering directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
  /usr/bin/make hunspell.pot-update
  make[5]: Entering directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
  sed -e '/^#/d' .././../src/v1.7.0-9251c91a4b.clean/po/remove-potcdate.sin > t-remove-potcdate.sed
  mv t-remove-potcdate.sed remove-potcdate.sed
  package_gnu=""; \
  test -n "$package_gnu" || { \
    if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
     LC_ALL=C find -L .././../src/v1.7.0-9251c91a4b.clean -maxdepth 1 -type f \
               -size -10000000c -exec grep 'GNU hunspell' \
               /dev/null '{}' ';' 2>/dev/null; \
         else \
     LC_ALL=C grep 'GNU hunspell' .././../src/v1.7.0-9251c91a4b.clean/* 2>/dev/null; \
         fi; \
       } | grep -v 'libtool:' >/dev/null; then \
       package_gnu=yes; \
     else \
       package_gnu=no; \
     fi; \
  }; \
  if test "$package_gnu" = "yes"; then \
    package_prefix='GNU '; \
  else \
    package_prefix=''; \
  fi; \
  if test -n '' || test 'https://github.com/hunspell/hunspell/issues' = '@'PACKAGE_BUGREPORT'@'; then \
    msgid_bugs_address=''; \
  else \
    msgid_bugs_address='https://github.com/hunspell/hunspell/issues'; \
  fi; \
  case `: --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
      : --default-domain=hunspell --directory=.././../src/v1.7.0-9251c91a4b.clean \
        --add-comments=TRANSLATORS: --keyword=_ --keyword=N_ --from-code=UTF-8  \
        --files-from=.././../src/v1.7.0-9251c91a4b.clean/po/POTFILES.in \
        --copyright-holder='Free Software Foundation, Inc.' \
        --msgid-bugs-address="$msgid_bugs_address" \
      ;; \
    *) \
      : --default-domain=hunspell --directory=.././../src/v1.7.0-9251c91a4b.clean \
        --add-comments=TRANSLATORS: --keyword=_ --keyword=N_ --from-code=UTF-8  \
        --files-from=.././../src/v1.7.0-9251c91a4b.clean/po/POTFILES.in \
        --copyright-holder='Free Software Foundation, Inc.' \
        --package-name="${package_prefix}hunspell" \
        --package-version='1.7.0' \
        --msgid-bugs-address="$msgid_bugs_address" \
      ;; \
  esac
  test ! -f hunspell.po || { \
    if test -f .././../src/v1.7.0-9251c91a4b.clean/po/hunspell.pot-header; then \
      sed -e '1,/^#$/d' < hunspell.po > hunspell.1po && \
      cat .././../src/v1.7.0-9251c91a4b.clean/po/hunspell.pot-header hunspell.1po > hunspell.po; \
      rm -f hunspell.1po; \
    fi; \
    if test -f .././../src/v1.7.0-9251c91a4b.clean/po/hunspell.pot; then \
      sed -f remove-potcdate.sed < .././../src/v1.7.0-9251c91a4b.clean/po/hunspell.pot > hunspell.1po && \
      sed -f remove-potcdate.sed < hunspell.po > hunspell.2po && \
      if cmp hunspell.1po hunspell.2po >/dev/null 2>&1; then \
        rm -f hunspell.1po hunspell.2po hunspell.po; \
      else \
        rm -f hunspell.1po hunspell.2po .././../src/v1.7.0-9251c91a4b.clean/po/hunspell.pot && \
        mv hunspell.po .././../src/v1.7.0-9251c91a4b.clean/po/hunspell.pot; \
      fi; \
    else \
      mv hunspell.po .././../src/v1.7.0-9251c91a4b.clean/po/hunspell.pot; \
    fi; \
  }
  make[5]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
  test -z "ca.po-update de.po-update es.po-update hu.po-update it.po-update pl.po-update pt_BR.po-update tg.po-update" || /usr/bin/make ca.po-update de.po-update es.po-update hu.po-update it.po-update pl.po-update pt_BR.po-update tg.po-update
  make[5]: Entering directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
  ca:
  cd .././../src/v1.7.0-9251c91a4b.clean/po && msgmerge  --lang=ca ca.po hunspell.pot -o ca.new.po
  de:
  cd .././../src/v1.7.0-9251c91a4b.clean/po && msgmerge  --lang=de de.po hunspell.pot -o de.new.po
  es:
  cd .././../src/v1.7.0-9251c91a4b.clean/po && msgmerge  --lang=es es.po hunspell.pot -o es.new.po
  hu:
  cd .././../src/v1.7.0-9251c91a4b.clean/po && msgmerge  --lang=hu hu.po hunspell.pot -o hu.new.po
  it:
  cd .././../src/v1.7.0-9251c91a4b.clean/po && msgmerge  --lang=it it.po hunspell.pot -o it.new.po
  pl:
  cd .././../src/v1.7.0-9251c91a4b.clean/po && msgmerge  --lang=pl pl.po hunspell.pot -o pl.new.po
  pt_BR:
  cd .././../src/v1.7.0-9251c91a4b.clean/po && msgmerge  --lang=pt_BR pt_BR.po hunspell.pot -o pt_BR.new.po
  tg:
  cd .././../src/v1.7.0-9251c91a4b.clean/po && msgmerge  --lang=tg tg.po hunspell.pot -o tg.new.po
  make[5]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
  /usr/bin/make update-gmo
  make[5]: Entering directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
  cd .././../src/v1.7.0-9251c91a4b.clean/po && rm -f ca.gmo && : -c --statistics --verbose -o ca.gmo ca.po
  cd .././../src/v1.7.0-9251c91a4b.clean/po && rm -f es.gmo && : -c --statistics --verbose -o es.gmo es.po
  cd .././../src/v1.7.0-9251c91a4b.clean/po && rm -f de.gmo && : -c --statistics --verbose -o de.gmo de.po
  make[5]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
  make[4]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
  make[3]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg/po'
  make[2]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg'
  make[1]: Leaving directory '/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg'

  [LogCollection][End]File:'/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/build-dist-x64-linux-dbg-out.log'.
  [LogCollection][Start]File:'/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/build-dist-x64-linux-dbg-err.log':
  /bin/sh: 1: msgmerge: not found
  /bin/sh: 10: msgmerge: not found
  msgmerge for ca.po failed!
  /bin/sh: 1: msgmerge: not found
  /bin/sh: 10: msgmerge: not found
  msgmerge for de.po failed!
  /bin/sh: 1: msgmerge: not found
  /bin/sh: 10: msgmerge: not found
  msgmerge for es.po failed!
  /bin/sh: 1: msgmerge: not found
  /bin/sh: 10: msgmerge: not found
  msgmerge for hu.po failed!
  /bin/sh: 1: msgmerge: not found
  /bin/sh: 1: msgmerge: not found
  /bin/sh: 10: msgmerge: not found
  msgmerge for it.po failed!
  /bin/sh: 10: msgmerge: not found
  msgmerge for pl.po failed!
  /bin/sh: 1: msgmerge: not found
  /bin/sh: 10: msgmerge: not found
  msgmerge for pt_BR.po failed!
  /bin/sh: 1: msgmerge: not found
  /bin/sh: 10: msgmerge: not found
  msgmerge for tg.po failed!
  mv: cannot stat 't-es.gmo': No such file or directory
  make[5]: *** [Makefile:182: .././../src/v1.7.0-9251c91a4b.clean/po/es.gmo] Error 1
  make[5]: *** Waiting for unfinished jobs....
  mv: cannot stat 't-ca.gmo': No such file or directory
  make[5]: *** [Makefile:182: .././../src/v1.7.0-9251c91a4b.clean/po/ca.gmo] Error 1
  mv: cannot stat 't-de.gmo': No such file or directory
  make[5]: *** [Makefile:182: .././../src/v1.7.0-9251c91a4b.clean/po/de.gmo] Error 1
  make[4]: *** [Makefile:504: update-po] Error 2
  make[3]: *** [Makefile:473: distdir] Error 2
  make[2]: *** [Makefile:592: distdir-am] Error 1
  make[1]: *** [Makefile:586: distdir] Error 2
  make: *** [Makefile:688: dist] Error 2

  [LogCollection][End]File:'/home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/build-dist-x64-linux-dbg-err.log'.
  -- Downloading https://github.com/hunspell/hunspell/archive/v1.7.0.tar.gz -> hunspell-hunspell-v1.7.0.tar.gz...
  -- Extracting source /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/downloads/hunspell-hunspell-v1.7.0.tar.gz
  -- Applying patch 0001_fix_unistd.patch
  -- Applying patch 0002-disable-test.patch
  -- Applying patch 0003-fix-win-build.patch
  -- Using source at /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/src/v1.7.0-9251c91a4b.clean
  -- Configuring x64-linux-dbg
  -- Configuring x64-linux-rel
  -- Generating configure for x64-linux
  -- Finished generating configure for x64-linux
  -- Configuring x64-linux-dbg
  -- Configuring x64-linux-rel
  -- Building x64-linux-dbg
  CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:155 (message):
      Command failed: /usr/bin/make V=1 -j 3 -f Makefile dist
      Working Directory: /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/x64-linux-dbg
      See logs for more information:
        /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/build-dist-x64-linux-dbg-out.log
        /home/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/build-dist-x64-linux-dbg-err.log

  Call Stack (most recent call first):
    scripts/cmake/vcpkg_build_make.cmake:194 (vcpkg_execute_build_process)
    ports/hunspell/portfile.cmake:71 (vcpkg_build_make)
    scripts/ports.cmake:141 (include)
vadi2 commented 3 years ago

Seems like it is related to https://github.com/microsoft/vcpkg/issues/13518? gettext is being built by vcpkg right before hunspell, but it's tools are not being found.

dg0yt commented 3 years ago

The gettext tools are installed by the tools feature of port gettext, and obviously you would want to install them for the host. With https://github.com/microsoft/vcpkg/pull/18159 merged 11 hours ago, there is also a cmake wrapper, and kf5i18n can serve as an example how to add the dependency to vcpkg.json.

dg0yt commented 3 years ago

Okay, hunspell has the right dependency. But still, the tools are not automatically added to the path.

vadi2 commented 3 years ago

hunspell installs fine in the November 2020 version of vcpkg - something to keep in mind is that this is a regression.

dg0yt commented 3 years ago

Oh, the last minute changes to #18159 seem to have disabled the tools for linux again. I need to stop allowing edits by maintainers.

dg0yt commented 3 years ago

Oh, the last minute changes to #18159 seem to have disabled the tools for linux again. I need to stop allowing edits by maintainers.

Actually, no. #18159 adds building the tools for linux. So your issue is likely to be fixed in HEAD of master,
gettext[core,tools]:x64-linux -> 0.21#4

vadi2 commented 3 years ago

Using commit 7d2541c69cc2f9099a118de1a80f59e29c5de15d - on Windows a new transient dependency is introduced and it breaks the build first (https://github.com/microsoft/vcpkg/issues/19117). On macOS hunspell fails:

  Starting package 3/7: hunspell:x64-osx
  Building package hunspell[core]:x64-osx...
  [LogCollection][Start]File:'/Users/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/autoconf-x64-osx-out.log':
  Copying file ABOUT-NLS
  Copying file config.rpath
  Copying file m4/gettext.m4
  Copying file m4/host-cpu-c-abi.m4
  Copying file m4/iconv.m4
  Copying file m4/intlmacosx.m4
  Copying file m4/lib-ld.m4
  Copying file m4/lib-link.m4
  Copying file m4/lib-prefix.m4
  Copying file m4/nls.m4
  Copying file m4/po.m4
  Copying file m4/progtest.m4
  Copying file po/Makefile.in.in
  Copying file po/Makevars.template
  Copying file po/Rules-quot
  Copying file po/en@boldquot.header
  Copying file po/en@quot.header
  Copying file po/insert-header.sin
  Copying file po/remove-potcdate.sin

  [LogCollection][End]File:'/Users/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/autoconf-x64-osx-out.log'.
  [LogCollection][Start]File:'/Users/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/autoconf-x64-osx-err.log':
  autoreconf: export WARNINGS=
  autoreconf: Entering directory '.'
  autoreconf: running: autopoint --force
  autoreconf: running: aclocal --force -I m4
  Can't exec "aclocal": No such file or directory at /usr/local/Cellar/autoconf/2.71/share/autoconf/Autom4te/FileUtils.pm line 274.
  autoreconf: error: aclocal failed with exit status: 2

  [LogCollection][End]File:'/Users/runner/work/Mudlet/Mudlet/3rdparty/vcpkg/buildtrees/hunspell/autoconf-x64-osx-err.log'.

On Ubuntu it works now, that is a step forward thanks 👍 all logs can be found here.

dg0yt commented 3 years ago

You really need a few more packages via brew for macOS: the missing aclocal is probably part of automake. (Full CI configuration: https://github.com/microsoft/vcpkg/blob/master/scripts/azure-pipelines/osx/configuration/vagrant-box-configuration.json)

JackBoosY commented 3 years ago

Oh, the last minute changes to #18159 seem to have disabled the tools for linux again. I need to stop allowing edits by maintainers.

Actually, no. #18159 adds building the tools for linux. So your issue is likely to be fixed in HEAD of master, gettext[core,tools]:x64-linux -> 0.21#4

So should we update to the latest to fix this issue?

dg0yt commented 3 years ago

@JackBoosY The issue here is fixed now: Port hunspell already was complete (updating PATH), and the recent merge of #18159 added the missing tools for Linux. (The new issues in the last comments are not related to hunspell, but to missing autoconf/automake (macos) and unsuitable mingw32-make (mingw).)

vadi2 commented 3 years ago

Just to note, the hunspell port did not require that tooling as of Nov 2020. Is it intended that it is now a required outside dependency?

dg0yt commented 3 years ago

AFAICS port hunspell was build with a custom cmake build system (from vcpkg) in Nov 2020. Today the port uses the original build system. History: https://github.com/microsoft/vcpkg/commits/master/ports/hunspell

vadi2 commented 3 years ago

Makes sense 👍

vadi2 commented 3 years ago

I install both automake autoconf via brew now, but the Can't exec "aclocal": No such file or directory at /usr/local/Cellar/autoconf/2.71/share/autoconf/Autom4te/FileUtils.pm line 274. error still persists. This seems like an issue in brew's autoconf... does it really work for vcpkg?

JackBoosY commented 3 years ago

@vadi2 Can you please provide the failure logs?

vadi2 commented 3 years ago

autoconf-x64-osx-err.log autoconf-x64-osx-out.log

JackBoosY commented 3 years ago

@vadi2 Please re-install automake in your pipeline.

Thanks.

dg0yt commented 3 years ago

I install both automake autoconf via brew now, but the Can't exec "aclocal": No such file or directory at /usr/local/Cellar/autoconf/2.71/share/autoconf/Autom4te/FileUtils.pm line 274. error still persists. This seems like an issue in brew's autoconf... does it really work for vcpkg?

@vadi2 Your CI is broken. "(macOS) Install non-vcpkg dependencies" comes after "Restore from cache and run vcpkg".

vadi2 commented 2 years ago

Thanks, fixed now.