On Wed, 31 May 2006, Justin Bronder wrote:
On 5/30/06, Brian Barrett <brbar...@open-mpi.org> 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/