Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

autoconf #502

Closed
kazu-yamamoto opened this issue Jun 22, 2021 · 7 comments
Closed

autoconf #502

kazu-yamamoto opened this issue Jun 22, 2021 · 7 comments

Comments

@kazu-yamamoto
Copy link
Collaborator

@Mistuke says:

autoconf 2.70+[1] have several backwards incompatible changes in them. Since msys2 follows Arch Linux's package philosophy it'll always be using bleeding edge. Because your github actions is installing msys2 fresh it'll get latest autoconf which is 2.71.

So it's not really a Windows issue, you can get the same error on Linux with a new enough autoconf. You should be able to fix it by setting AC_CONFIG_AUX_DIR to the directory containing the config.guess and config.sub.

[1] http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=blob_plain;f=NEWS;hb=97fbc5c184acc6fa591ad094eae86917f03459fa

@kazu-yamamoto
Copy link
Collaborator Author

I'm using autoconf 2.71 on macOS but I cannot reproduce this.

@kazu-yamamoto
Copy link
Collaborator Author

kazu-yamamoto commented Jun 22, 2021

The error says:

configure: error: cannot find required auxiliary files: config.guess config.sub

config.guess and config.sub are contained in ..

The manual of autoconf says:

f AC_CONFIG_AUX_DIR is not given, the scripts are looked for in their standard locations. For mdate-sh, texinfo.tex, and ylwrap, the standard location is the source directory corresponding to the current Makefile.am. For the rest, the standard location is the first one of ., .., or ../.. (relative to the top source directory) that provides any one of the helper scripts. See Finding ‘configure’ Input in The Autoconf Manual.

I don't understand why ./config.guess cannot be found.

@Mistuke
Copy link
Collaborator

Mistuke commented Jun 24, 2021

Hmm I'll take a look this weekend.

@kazu-yamamoto
Copy link
Collaborator Author

@Mistuke Gentle ping

@Mistuke
Copy link
Collaborator

Mistuke commented Jul 8, 2021

So the problem is that $PATH_SEPARATOR=":" by default and cabal calls configure using:

 sh "C:\/Users/tamar/source/repos/network/configure"

Before this change in autoconf 2.70 this path would not have been split. Sadly though not what happens is that it'll interpret the entries as C/ and /Users/tamar/source/repos/network.

The upstream bug-report is https://savannah.gnu.org/support/index.php?110448 but unlikely to be fixed.

I have to think of a fix, ideally if cabal would change the way it calls configure..

For now, as a temporary workaround for the CI if you want you can set the env variable PATH_SEPARATOR=";" before calling cabal which should fix it.

@Mistuke
Copy link
Collaborator

Mistuke commented Jul 8, 2021

Setting AC_CONFIG_AUX_DIR([$top_srcdir]) gives a cryptic error where it says

configure: error: cannot find required auxiliary files:

with no files.. this autoconf change is hopelessly broken..

@Mistuke
Copy link
Collaborator

Mistuke commented Jul 25, 2021

filed a bug with cabal, there's little that can be done in network. haskell/cabal#7494

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants