Hi -

Unfortunately, as the bug at Sun's web site points out, their compiler is borked. There's not a lot we can do about that fact, without causing a whole host of other problems.

If you aren't using C++, I'd recommend compiling Open MPI with GCC and then reseting the wrapper compilers to invoke the Sun C compiler for applications. The two compilers are link-time compatible, so this won't cause any problems and you're unlikely to see any performance difference depending on which compiler you use to compile Open MPI (applications are, of course, a different story). Have a look at the following FAQ entry for a quick how-to.

http://www.open-mpi.org/faq/?category=mpi-apps#override-wrappers-after-v1.0

Brian


On Fri, 3 Apr 2009, Segovia, Andrea wrote:


Hello,

I am trying to compile OpenMPI on a Red Hat Enterprise Linux 5 platform
with the Sun Studio 12 compiler suite. (I currently have the Red
Hat-bundled OpenMPI w/GNU compilers running).

I have already encountered and addressed the problem of the C++ compiler
not working in 64 bit mode with the Red Hat-bundled GNU ld by not
including sunCC in the OpenMPI compilation, since we do not need C++
support.

However, I have encountered another problem when attempting to compile
(at the "make all" stage):

asm/.libs/libasm.a(atomic-asm.o): In function `opal_atomic_mb':
(.text+0x0): multiple definition of `opal_atomic_mb'
asm/.libs/libasm.a(asm.o):asm.c:(.text+0x0): first defined here
asm/.libs/libasm.a(atomic-asm.o): In function `opal_atomic_rmb':
(.text+0x6): multiple definition of `opal_atomic_rmb'
asm/.libs/libasm.a(asm.o):asm.c:(.text+0x10): first defined here

..(small excerpt)

Sun has published bug information about a similar error here: 
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6567405 but I don't
know if it applies. Besides, their suggested fix is to change the source
code, something I would be extremely reluctant to do.

The OpenMPI users mailing list has at one reference to this problem here:
http://www.open-mpi.org/community/lists/users/2008/10/6908.php but I have
not been able to find a solution.

I am enclosing a gzipped tar file with the configure output, config.log
and make output as suggested.

<<ompi_output.tar.gz>>

I am using the following options to configure (based on the
recommendations on the OpenMPI FAQ here:
http://www.open-mpi.org/faq/?category=building#build-sun-compilers )This
section references the errors found above but does not provide a
work-around.

  $ ./configure CC=suncc F77=sunf77 FC=sunf90
--prefix=/export/home/segovia/RunTime_Environ/ --enable-heterogeneous
--enable-shared--enable-orterun-prefix-by-default --enable-mpi-f90
--with-mpi-f90-size=small --disable-mpi-threads
--disable-progress-threads --disable-debug --with-openib --without-udapl
--disable-openib-ibcm

Has anyone been successful with this build? What options/workarounds were
necessary to compile?

Any help or information would be greatly appreciated.

Andrea Segovia
IM&TS,  Data Centre Services, East / GIST, Services du Centre de
traitement des données de l' est
Fisheries and Oceans Canada | Pêches et Océans Canada


Reply via email to