autoconf
[Top][All Lists]
Advanced

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

Re: failure of cross-compilation detection on BlueGene/L


From: Steffen Dettmer
Subject: Re: failure of cross-compilation detection on BlueGene/L
Date: Mon, 8 Jun 2009 12:05:56 +0200

Hi all!

On Sat, Jun 6, 2009 at 3:03 AM, Steven G. Johnson<address@hidden> wrote:
> As you may or may not know, some of the major supercomputers
> these days (Cray XT3 and IBM BlueGene) require cross-compiling:
> the front-ends run GNU/Linux, but the actual compute nodes run
> some half-baked pseudo-POSIX-ish minimal OS, so every program
> that you want to run has to be cross-compiled.

Does this mean you have no way to compile any program running on
the front-end GNU/Linux?

> In particular, on the BlueGene/L, the minimal correct program
> that crashes on the build system due to the cross-compiling
> seems to be:
>
> int main(void)
> {
>   FILE *f = fopen("conftest.val","w");
>   fclose(f);
>   return 0;
> }
>
> (Note that the runtime version of AC_COMPUTE_INT writes to a
> file, which is why it fails if cross-compiling is not detected
> on BlueGene/L.)

You mean, you want to detect BlueGene/L by concluding that from
the fact that fopen does not work?

Not that I have a clue about, but for me this sounds really
strange.  I think, obviously it cannot work, because there are
platforms that do not even have fopen() or the compiled binaries
(or its libc) may apply additional checking and may refuse to
open files (e.g. extra permission checking, or execution in a
read-only folder or without write cababilities). I think it could
be bad if on such a platform cross-compiling would be detected.

(but as I understood the thread, there is no issue, because the
correct way of enabling cross-compilation by specifying --host
and --build does work).

oki,

Steffen




reply via email to

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