configure m4 problem

Ozkan Sezer sezeroz at gmail.com
Fri Aug 20 12:40:33 CEST 2010


On Fri, Aug 20, 2010 at 1:18 PM, Niels Möller <nisse at lysator.liu.se> wrote:
> Ozkan Sezer <sezeroz at gmail.com> writes:
>
>>   putenv("M4=m4");
>
> Ok, this is the interesting piece.
>
>> It seems like the problem (in our specific case, at least), is that 1)
>> python sets the signal stuff, and 2) gcc's configure ends up setting
>> $M4 because it's already found it anyway.  In this case, $M4 gets
>> propagated into flex.
>
> Then it seems like a resonable improvement to GMPs configure script is
> to always respect M4 set in the environment. Does any of the proposed
> solutions do precisely that?
>
> But some things are still puzzling me regarding your description of the
> setup.
>
> 1. Why does gcc set M4 in the environment? After a quick check of
>   gcc-4.4.4/configure, I don't see that it exports M4 (it is of course
>   substituted in Makefile.in etc., but that is something different).
>
> 2. How come gmp's configure is started as a *subprocess* of gcc's
>   configure, hence inheriting that M4 environment variable? gmp wasn't
>   bundled with gcc last time I checked, but we might be using different
>   versions/distributions.
>
> From this, I wonder if it's correct that the gcc configure script really
> is the source of the M4 environment variable, I suspect that it is
> instead set by some common ancestor process to both configure scripts.
>
> Regards,
> /Niels
>
> --
> Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
> Internet email is subject to wholesale government surveillance.
>

I can't say I fully understand the mechanism here, either. However,
the thing happens ;)   Another test shown in the original bug
report (http://article.gmane.org/gmane.comp.lib.gmp.bugs/2114/) is
this:
[...]
>  get gcc, put gmp in there, and like
>   mkdir /obj
>   cd /obj
>   python -c "import os;os.system('../gcc/configure && make')"
>
> it'll take a while longer, but you'll get the above error.

As for the suggested solutions in the original bug reports, which are:
>  a) get rid of the else entirely
>  b) set M4=m4
>  c) move this to after AM_PROG_LEX
... the first one, I think, would make gmp to always respect user-set
M$ variable.  An alternative to that might be, instead of completely
removing the else case, setting it there only when M4 is not already
set.

Regards.

--
Ozkan


More information about the gmp-devel mailing list