Vcpkg: autoreconf fails when executed by vcpkg on OSX, but works fine run by hand

Created on 14 Oct 2020  路  6Comments  路  Source: microsoft/vcpkg

Describe the bug
I am working on a libtasn1 port, currently defined as:

vcpkg_from_github(
    OUT_SOURCE_PATH SOURCE_PATH
    REPO gnutls/libtasn1
    REF 4.16.0
    SHA512 e268aaddc3972b4e89db6b470a9b132ea89a33a0b4b61fadd4cfa149349ce7080a3f42d1cb0a18949330c9c0f14151ba666c6ae64babd44e6eb8a2c004500b27
    HEAD_REF master
)

vcpkg_configure_make(
    AUTOCONFIG
    SOURCE_PATH ${SOURCE_PATH}
    OPTIONS
        --disable-doc
        --disable-silent-rules
)

vcpkg_install_make()

Running vcpkg causes immediate failure, with:

CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:85 (message):
    Command failed: /usr/local/bin/autoreconf -vfi
    Working Directory: /Volumes/External/Sourcecode/vcpkg/buildtrees/libtasn1/src/4.16.0-210bc43f56.clean/
    Error code: 1
    See logs for more information:
      /Volumes/External/Sourcecode/vcpkg/buildtrees/libtasn1/autoconf-x64-osx-err.log

The autoconf-x64-osx-err.log reads:

autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4 -I m4-gl
aclocal: error: couldn't open directory 'm4-gl': No such file or directory
autoreconf: aclocal failed with exit status: 1

However, if I cd into the build folder (Volumes/External/Sourcecode/vcpkg/buildtrees/libtasn1/src/4.16.0-210bc43f56.clean/) and execute the same command (/usr/local/bin/autoreconf -vfi) manually, autoreconf works fine:

autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4 -I m4-gl
autoreconf: configure.ac: tracing
autoreconf: running: glibtoolize --copy --force
(...)

Clearly there is some issue with working directory setup here.

Environment

  • OS: macOS
  • Compiler: Apple clang version 11.0.3 (clang-1103.0.32.62)

To Reproduce
Steps to reproduce the behavior:

  1. ./vcpkg install libtasn1
  2. See error

Expected behavior
Autoreconf should succeed, just as it does when executed by hand.

question

All 6 comments

vcpkg_configure_make(
    AUTOCONFIG
    SOURCE_PATH ${SOURCE_PATH}
    OPTIONS
        --disable-doc
        --disable-silent-rules
)

To

vcpkg_configure_make(
    AUTOCONFIG
    COPY_SOURCE
    SOURCE_PATH ${SOURCE_PATH}
    OPTIONS
        --disable-doc
        --disable-silent-rules
)

@JackBoosY doesn't help, unfortunately, I am getting the same error.

@wrobelda Can you open a PR to commit your changes? And I'd be happy to help you solve this issue there.

Sadly, I enter the source path, and run the command manually, but that error still exist:

vcpkg@vcpkg 4.16.0-210bc43f56.clean % /usr/local/bin/autoreconf -vfi
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4 -I m4-gl
aclocal: error: couldn't open directory 'm4-gl': No such file or directory
autoreconf: aclocal failed with exit status: 1
vcpkg@vcpkg 4.16.0-210bc43f56.clean %

@JackBoosY frankly, I don't know how to explain this. I rm -rf-ed my build tree and now have the same error as you do. The redistributable source package doesn't have that issue, so I used it instead of git.

Was this page helpful?
0 / 5 - 0 ratings