On 2/8/2012 2:08 PM, Paul H. Hargrove wrote:
It seems that xlc dislikes some wchar constants (see below).
In a build w/ default CFLAGS they produce an "(E)" level message, but compilation continues to completion.
With the recommended CFLAGS=-qhalt=e these become fatal:
  CC     lstopo-lstopo-text.o
"/home/hargrove/OMPI/hwloc-1.3.2rc1-linux-ppc64-xlc-9.0/hwloc-1.3.2rc1/include/hwloc.h", line 1203.34: 1506-1385 (W) The attribute "pure" is not a valid type attribute. "/home/hargrove/OMPI/hwloc-1.3.2rc1-linux-ppc64-xlc-9.0//hwloc-1.3.2rc1/utils/lstopo-text.c", line 450.12: 1506-077 (E) The wchar_t value 0x250c is not valid. "/home/hargrove/OMPI/hwloc-1.3.2rc1-linux-ppc64-xlc-9.0//hwloc-1.3.2rc1/utils/lstopo-text.c", line 451.12: 1506-077 (E) The wchar_t value 0x2510 is not valid. "/home/hargrove/OMPI/hwloc-1.3.2rc1-linux-ppc64-xlc-9.0//hwloc-1.3.2rc1/utils/lstopo-text.c", line 452.12: 1506-077 (E) The wchar_t value 0x2514 is not valid.
[followed by another error for each case in the switch statement].

So, now I am not sure what to recommend.  Options include:
+ Don't worry about old xlc (which OMPI doesn't support since they can't build the opal atomics).
+ Rig things to use -qhalt=e ONLY for configure, but not for make?
+ Punt on 1.3 and revisit later

Option #4:
   CFLAGS='-qhalt=e -qsuppress=1506-077'
Appears to work for me for xlc-8.0 and xlc-9.0.
For xlc-7.0 the -qsuppress doesn't appear to be effective.

-Paul

--
Paul H. Hargrove                          phhargr...@lbl.gov
Future Technologies Group
HPC Research Department                   Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Reply via email to