This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Your config-ml.in change broke cris-axis-elf newlib multilib build


* Hans-Peter Nilsson wrote on Sun, Apr 15, 2007 at 12:22:11AM CEST:
> 
> This is a note rather than a PR, though I will enter a PR if the
> situation remains for 48h.  The following happened with newlib
> as of two days ago (Apr 13 04:15 CET) with gcc in a combined
> tree as of 123829 but worked with 123816.  I see nothing in src
> that would help (only the config-ml.in change, which is
> overwritten by the gcc version).  I guess this would be the same
> for all newlib multilib systems.  To repeat, use e.g. the
> simtest-howto.html instructions to build, configure with
> --target=cris-elf.  Beware of the overlong lines.

As far as I can see, the actual root cause of the bug is again in
Autoconf 2.59.  AC_CONFIG_SUBDIRS (more precisely, the internal macro
_AC_OUTPUT_SUBDIRS) has been fixed thusly in 2.60.

Rather than working around this issue by finding all instances where
doubled spaces can enter precious variables in GCC's build system --
which I guess are a lot of places -- it would IMVHO be easier to put in
a forward-compatible workaround: fix _AC_OUTPUT_SUBDIRS, in place until
the tree can be updated to 2.61.

I outlined this here:
<http://thread.gmane.org/gmane.comp.sysutils.autoconf.general/8932/focus=8954>

Also please note that I think you should break up ac_configure_args like
this in config-ml.in:

eval "set x $ac_configure_args"
shift
for option
do
  ...
done

That way, multiple spaces are conserved.  Sorry, I have currently no
time to look into this further.

[...]
> configure: error: `CC' has changed since the previous run:
> configure:   former value:  /tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/xgcc -B/tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/ -nostdinc -B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v10/newlib/ -isystem /tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v10/newlib/targ-include -isystem /tmp/hpautotest-gcc1/gcc/newlib/libc/include -B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/bin/ -B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/lib/ -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/include -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/sys-include  -march=v10 -mbest-lib-options
> configure:   current value: /tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/xgcc -B/tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/ -nostdinc -B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v10/newlib/ -isystem /tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v10/newlib/targ-include -isystem /tmp/hpautotest-gcc1/gcc/newlib/libc/include -B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/bin/ -B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/lib/ -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/include -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/sys-include -march=v10 -mbest-lib-options
> configure: error: changes in the environment can compromise the build
> configure: error: run `make distclean' and/or `rm .././config.cache' and start over
> configure: error: /bin/sh '/tmp/hpautotest-gcc1/gcc/newlib/libc/configure' failed for libc
> make[1]: *** [configure-target-newlib] Error 1
> make[1]: Leaving directory `/tmp/hpautotest-gcc1/cris-elf/gccobj'
> make: *** [all] Error 2

Cheers,
Ralf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]