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

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

 



Hi all!

On Sat, Jun 6, 2009 at 3:03 AM, Steven G. Johnson<stevenj@xxxxxxxxxxxx> 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


_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf


[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux