Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Can I build development RPM from openmpi-1.2.8-1.src.rpm?
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2008-11-10 14:26:57


On Nov 10, 2008, at 2:18 PM, Oleg V. Zhylin wrote:

>> Right -- OMPI builds shared libraries by default.
>
> What is the proper way to build static libraries from RPM? Or
> tarball is the only option to accomplish this?

You can pass any options to OMPI's configure script through the
rpmbuild interface, such as:

rpmbuild \
     --define 'configure_options CFLAGS=-g --with-openib=/usr/local/
ofed --disable-shared --enable-static' ...

But be aware that static linking is not for the weak, especially if
you're using high-speed networks. Check out both of these:

http://www.open-mpi.org/faq/?category=mpi-apps#static-mpi-apps
http://www.open-mpi.org/faq/?category=mpi-apps#static-ofa-mpi-apps

>> Really? That's odd -- our mpif90 simply links against
>> -lmpi_f90, not specifically .a or .so. You can run
>> "mpif90 --showme" to see the command that our
>> wrapper *would* execute. You can also tweak the flags that
>> OMPI passes to the wrapper compilers; see this FAQ entry:
>
> Well, I suppose if removing -lmpi_f90 and other mpi libs from
> command-line would defeat the purpose of building an MPI executable.
> Moreover ld manual page says that on platforms that support shared
> libraries it looks for .so first and .a after that.

That's pretty standard behavior that has been around for forever.

> But I've tried Fedora Core 6 and 9 and both give same result and on
> both strace shows that ld doesn't attempt to look for libmpi_f90.so
> at all.

Are you saying that you have libmpi_f90.so available and when you try
to run, you get missing symbol errors? Or are you failing to compile/
link at all?

> Does anyone has experience building MPI on Fedora?

FWIW: building on Fedora should be little different than building on
other Linux systems.

> Are there any additional steps required other then yum install
> openmpi*?

I always build via source (but I'm a developer, so my bias is a little
different ;-) ). I'm unfamiliar with Fedora's yum repositories...

-- 
Jeff Squyres
Cisco Systems