autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: testsuite problem


From: Akim Demaille
Subject: Re: testsuite problem
Date: 27 Feb 2001 19:17:47 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Cuyahoga Valley)

"Tim Van Holder" <address@hidden> writes:

> You _might_ be running into a pathsep bug.
> 
> acgeneral.m4 runs
> 
>       PATH=".;`pwd`"; conftest.sh
> 
> to check whether ';' works as pathsep. But because of the ';' after
> the PATH assignment, conftest gets the regular path.  

Niah?  I don't understand.  Are you telling us that your host does not
honor PATH assignments?

> So if your regular PATH contains the current dir, autoconf will
> assume ';' is a valid pathsep on your system.  And since your PATH
> actually uses ':', splitting PATH up using ';' will cause nothing to
> be found.
> 
> Try removing the ';' in acgeneral.m4 (as shown below), then rebuild
> autoconf & the testsuite.
> 
> Still, the testsuite seems to be able to run autoconf, so it might
> be something else entirely.
> 
> Index: acgeneral.m4
> ===================================================================
> RCS file: /cvs/autoconf/acgeneral.m4,v
> retrieving revision 1.699
> diff -c -r1.699 acgeneral.m4
> *** 1388,1394 ****
>   [echo "#! $SHELL" >conftest.sh
>   echo  "exit 0"   >>conftest.sh
>   chmod +x conftest.sh
> ! if AC_RUN_LOG([PATH=".;`pwd`"; conftest.sh]); then
>     ac_path_separator=';'
>   else
>     ac_path_separator=:
> --- 1392,1398 ----
>   [echo "#! $SHELL" >conftest.sh
>   echo  "exit 0"   >>conftest.sh
>   chmod +x conftest.sh
> ! if AC_RUN_LOG([PATH=".;`pwd`" conftest.sh]); then
>     ac_path_separator=';'
>   else
>     ac_path_separator=:

This is not good, as we don't mean to pass the new PATH to conftest,
rather we want to have the shell change its own PATH, and *then* to
look for conftest in it.

The explanation, just like the truth, is elsewhere :)

Could you please try to explore this into the details?  I suppose you
are referring to Bash under DJGPP, right?


In particular, I'm just understanding that we may have a problem if
`pwd` returns something with : in it, we might run into false
positives in some cases.  This is just my imagination as I don't run
this system, but suppose you have pwd = c:/my/autoconf-dir.

Then you end up with PATH=.;c:/my/autoconf-dir.  Then *if* splitting
is performed on `:', you get `.;c' (fails), and then
`/my/autoconf-dir'.  I have no idea whether on such platform
`/my/autoconf-dir' works, but I wouldn't surprised.  It would explain
what you observed.

Therefore I tend to think I've been stupid choosing .;`pwd`.  Rather,
sane thinking would have suggested `.;.'.  Could you try to see if I
make sense, and if it fixes the issue?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]