mainAutoconf - Support: sr #110448, AC_CONFIG_AUX_DIRS fails with...


sr #110448: AC_CONFIG_AUX_DIRS fails with Windows paths

Submitter:  None
Submitted:  Mon 22 Feb 2021 10:23:28 AM UTC
Priority:  * 1 - Blocked Severity:  2 - Minor
Status:  Need Info Privacy:  Public
Assigned to:  None Originator Email:  -email is unavailable-
Open/Closed:  Open Operating System:  Microsoft Windows
* Mandatory Fields

Add a New Comment Rich Markup

Mon 11 Dec 2023 03:15:11 PM UTC, comment #2: 

Cabal now sets `$PATH_SEPARATOR=";"` so we don't have the issue anymore with newer releases:

This issue can be closed.

Fri 08 Dec 2023 05:02:43 PM UTC, comment #1: 

We made $ac_aux_dir_candidates a $PATH_SEPARATOR separated list because it could potentially reference the build directory, whose name is allowed to contain whitespace (see automake/m4/sanity.m4).  It'd be a little weird but it's not out of the question.

I'm not opposed to changing it back to a whitespace-separated list but first I need to understand why you have PATH_SEPARATOR=: on a Windows-based system. It should always be ; on systems that use drive letters, precisely because drive letters are set off from the rest of the path with a colon.  Maybe the real bug here is that _AS_PATH_SEPARATOR_PREPARE isn't giving the right answer.

Zack Weinberg <zackw>
Group administrator
Mon 22 Feb 2021 10:23:28 AM UTC, original submission:  

Updating to autoconf 2.70 broke the build of GHC (Haskell compiler) on Windows using msys2. I've tracked this to commit 35a1c64600894ecc3b06b6c4b273952db7c8fc83

This commit changed the way the auxiliary dirs are managed. They were put in a space separated list and now they are put in a $PATH_SEPARATOR separated list. I.e. it replaced [AC_CONFIG_AUX_DIRS("$srcdir" "$srcdir/.." "$srcdir/../..")] with  [${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../..].

The issue is that on Windows we call configure with something like "/usr/bin/sh c:\/msys64/home/Sylvain/ghc/libraries/ghc-bignum/configure ..." and $srcdir becomes equal to c:\/msys64/home/Sylvain/ghc/libraries/ghc-bignum/. But $PATH_SEPARATOR=":" so we get:

configure:2437: looking for aux files: config.guess config.sub
configure:2450:  trying C/
configure:2450:  trying \/msys64/home/Sylvain/ghc/libraries/ghc-bignum/
configure:2450:  trying C/
configure:2450:  trying \/msys64/home/Sylvain/ghc/libraries/ghc-bignum/../
configure:2450:  trying C/
configure:2450:  trying \/msys64/home/Sylvain/ghc/libraries/ghc-bignum/../../
configure:2503: error: cannot find required auxiliary files: config.guess config.sub

Shouldn't $ac_aux_dir_candidates be a space-separated list?



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by zackw (Posted a comment)
  • -email is unavailable- added by None (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-12-08 zackw Priority5 - Unprioritized 1 - Blocked
        Severity3 - Normal 2 - Minor
        StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code