[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: failure of cross-compilation detection on BlueGene/L
From: |
Christian Rössel |
Subject: |
Re: failure of cross-compilation detection on BlueGene/L |
Date: |
Sat, 06 Jun 2009 22:01:38 +0200 |
User-agent: |
Mozilla-Thunderbird 2.0.0.19 (X11/20090103) |
Steven G. Johnson schrieb:
Christian Rössel wrote:
Therefore I usually specify --host *and* --build if I want to cross
compile. If $host != $build, configure sets cross_compiling to yes
Ah yes, that is an easier workaround than hacking the configure script.
Hi Steven,
I don't think that this is a workaround. The documentation
(http://www.gnu.org/software/autoconf/manual/autoconf.html#Hosts-and-Cross_002dCompilation)
clearly states:
...
If you specify both, and they're different, configure enters cross
compilation mode, so it doesn't run any tests that require execution.
...
Whenever you specify --host, be sure to specify --build too.
However, this doesn't change the fact that there is a bug: autoconf's
detection of cross-compiling when cross_compiling=maybe should be fixed
on BlueGene. Specifying --build is only a workaround, not a fix.
cross_compiling=maybe has nothing to do with Blue Gene. Just search your
configure scripts for following lines:
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
I never had a problem switching to cross compile mode when I specified
both, --host and --build, so I don't see a bug there.
Note that we are working on some heuristics to detect supercomputer
platforms like Blue Gene, Cray, NEC etc. that require cross
compilation. This detection will be available as a macro soon and
render it unnecessary that the user specifies --host and --build on
the supported platforms.
I'm not sure that's the right approach. The default when running
configure should be to compile for the build host (i.e., the front-end
nodes on BlueGene etc.). Also, the autoconf philosophy is to do feature
tests rather than platform-specific heuristics whenever possible.
Therefore I'm not sure if my macro will be general enough to be included
in config.guess. But a macro
AC_SET_HOST_FOR_CROSS_COMPILE_SUPERCOMPUTERS will be useful for many
applications.
Christian
- failure of cross-compilation detection on BlueGene/L, Steven G. Johnson, 2009/06/05
- Re: failure of cross-compilation detection on BlueGene/L, Steven G. Johnson, 2009/06/06
- Re: failure of cross-compilation detection on BlueGene/L, Bob Friesenhahn, 2009/06/06
- Re: failure of cross-compilation detection on BlueGene/L, Ralf Wildenhues, 2009/06/07
- Re: failure of cross-compilation detection on BlueGene/L, Steven G. Johnson, 2009/06/08
Re: failure of cross-compilation detection on BlueGene/L, Ralf Wildenhues, 2009/06/06