Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Brian W. Barrett (brbarret_at_[hidden])
Date: 2006-05-31 11:17:18


On Wed, 31 May 2006, Justin Bronder wrote:

> On 5/30/06, Brian Barrett <brbarret_at_[hidden]> wrote:
>>
>> On May 28, 2006, at 8:48 AM, Justin Bronder wrote:
>>
>> > Brian Barrett wrote:
>> >> On May 27, 2006, at 10:01 AM, Justin Bronder wrote:
>> >>
>> >>
>> >>> I've attached the required logs. Essentially the problem seems to
>> >>> be that the XL Compilers fail to recognize "__asm__ __volatile__" in
>> >>> opal/include/sys/powerpc/atomic.h when building 64-bit.
>> >>>
>> >>> I've tried using various xlc wrappers such as gxlc and xlc_r to
>> >>> no avail. The current log uses xlc_r_64 which is just a one line
>> >>> shell script forcing the -q64 option.
>> >>>
>> >>> The same works flawlessly with gcc-4.1.0. I'm using the nightly
>> >>> build in order to link with Torque's new shared libraries.
>> >>>
>> >>> Any help would be greatly appreciated. For reference here are
>> >>> a few other things that may provide more information.
>> >>
>> >> Can you send the config.log file generated by configure? What else
>> >> is in the xlc_r_64 shell script, other than the -q64 option?
>>
>> > I've attached the config.log, and here's what all of the *_64 scripts
>> > look like.
>>
>> Can you try compiling without the -qkeyword=__volatile__? It looks
>> like XLC now has some support for GCC-style inline assembly, but it
>> doesn't seem to be working in this case. If that doesn't work, try
>> setting CFLAGS and CXXFLAGS to include -qnokeyword=asm, which should
>> disable GCC inline assembly entirely. I don't have access to a linux
>> cluster with the XL compilers, so I can't verify this. But it should
>> work.
>
> No good sadly. The same error continues to appear. I had actually
> initially
> attempted to compile without -qkeyword=__volatile__, but had hoped to
> force xlc to recognize it. This is obviously more of an XL issue,
> especially
> as I've since found that everything works flawlessly in 32-bit mode. If
> anyone
> has more suggestions, I'd love the help as I'm lost at this point.

A quick workaround is to edit opal/include/opal_config.h and change the
#defines for OMPI_CXX_GCC_INLINE_ASSEMBLY and OMPI_CC_GCC_INLINE_ASSEMBLY
from 1 to 0. That should allow you to build Open MPI with those XL
compilers. Hopefully IBM will fix this in a future version ;).

Brian

-- 
   Brian Barrett
   Graduate Student, Open Systems Lab, Indiana University
   http://www.osl.iu.edu/~brbarret/