I am currently experiencing issues with building using autotools on windows (with msys2 and having followed the guide here: https://docs.travis-ci.com/user/reference/windows/#how-do-i-use-msys2 ).
What happens right now is that the build gets stuck during while running “./configure” on the library it is trying to build (seemingly no logs are produced). It consistently happens at the same checking stage in the configure execution script.
Is there any way I can debug or investigate on the root cause for this?
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
It looks the manifest tool is checked with:
AC_CACHE_CHECK([if $MANIFEST_TOOL *is a manifest tool* ]
Perhaps you can remove the check or set MANIFEST_TOOL to something like false so it fails immediately. For example:
MANIFEST_TOOL=false ./configure ...
That trick usually works when you are missing tools for documentation. For example, you would set MAKEINFO=true to avoid a Make error. Make will call $(MAKEINFO) which returns success without building the docs.
You might also be able to rig something in configure.ac. configure.ac is just a shell script, so add something like this before the MANIFEST_TOOL check.
if [ x"$MANIFEST_TOOL" = "x" ]; then
MANIFEST_TOOL=false
fi
By the way… mt is an old command to do something with magnetic tapes on Unix. You might want to check if mt is a Windows command that is expecting input (hanging).
Of topic… You can collapse this:
before_install:
- ps -ef
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then ps -Wla | sort ; fi
- eval "${MATRIX_EVAL}"
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then export LDFLAGS="$LDFLAGS -L/usr/local/lib -L/usr/lib"; fi
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then export PATH=$PATH:/usr/local/lib; fi
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib; fi
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib; fi
Into something like this:
before_install:
- ps -ef
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then ps -Wla | sort ; fi
- eval "${MATRIX_EVAL}"
- |
if [ "$TRAVIS_OS_NAME" != "windows" ]; then
export LDFLAGS="$LDFLAGS -L/usr/local/lib -L/usr/lib"
export PATH=$PATH:/usr/local/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib
fi
Thanks @native-api , I’ll give it a try with the debugging.
I have the impression that it gets stuck every time it searches for a tool that is not installed, but this seems to be happening on windows only (not in the other OS) and only on a specific configure.
It’s possible that it’s stuck displaying some GUI error message – Windows is notorious for that. But without knowing what exact command is stuck, it’s impossible to reproduce.