Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: Re: [hwloc-devel] hwloc-1.3.1 assertion failures on Linux/POWER7
From: Paul H. Hargrove (PHHargrove_at_[hidden])
Date: 2012-02-01 18:38:00

On 2/1/2012 3:12 PM, Paul H. Hargrove wrote:
> This is WRONG.
> The compiler has reported an error: "(E) Missing argument(s)" and yet
> exited with $? = 0
> I am looking at xlc docs to see if there is some compiler flag to be set.

 From "man xlc":
> -qhalt=<sev>
> Stops the compiler after the first phase if the
> severity level of errors detected
> equals or exceeds the specified level, <sev>. The
> severity levels in increasing order
> of severity are:
> i = informational messages
> w = warning messages
> e = error messages (C only)
> s = severe error messages
> Default: -qhalt=s

Which explains why an "(E)" message was non-fatal (both at configure
time AND at build time).

Looking again at I am not too surprised really.
In general my experience is that compilers don't consider too few or too
many arguments to be fatal.
This is behavior is perhaps a hold-over from pre-ANSI days when
prototype and/or stdargs were seldom used.
The result is that configure probes like the one for old-vs-new
sched_setaffinity() are NOT reliable across compilers.

With that out of the way, I am please to say that when configuring
hwloc-1.3.1 with "CFLAGS=-qhalt=e" the correct variant of
sched_setaffinity() is detected. This gets rid of the messages
regarding sched_setaffinity() at build time, and the related test
failures w/ SIGSEGV. (I still have my assetion failure in the
linux-libnuma test, but we know that occurs w/ gcc as well).

I am not sure if one should fix this by:
a) Document the need for CFLAGS=-qhalt=e
b) Force "-qhalt=e" at configure time when CC=xlc
c) Find some other way to fix the configure probe

My vote is for "(b)", but I don't know if that fits with the ompi/hwloc


Paul H. Hargrove                          PHHargrove_at_[hidden]
Future Technologies Group
HPC Research Department                   Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900