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: Oleg V. Zhylin (ovz_at_[hidden])
Date: 2008-11-10 20:21:12


  My goal is to run some software that uses MPI so for now I the most standard setup.

> 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?

  Linking stage fails. When I use mpif90 to produce actual executable ld reports error that it can't find -lmpi_f90. The libmpi_f90.so is in /usr/libs but, again, as I've discovered ld doesn't even try to look for it. Maybe this is ld problem, or ld in conjunction with gfortran...

> 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...

 yum repositories for FC9 provide rpms for openmpi 1.2.4-2, but straightforward installation resulted in problem with -lmpi_f90. As I've said before I've tried this on two machines and their configurations are not exotic ones. I suppose the predicament is something obvious so I hope to here from people with openmpi experience under Fedora.

WBR Oleg V. Zhylin ovz_at_[hidden]

--- On Mon, 11/10/08, Jeff Squyres <jsquyres_at_[hidden]> wrote:

> From: Jeff Squyres <jsquyres_at_[hidden]>
> Subject: Re: [OMPI users] Can I build development RPM from openmpi-1.2.8-1.src.rpm?
> To: ovz_at_[hidden]
> Cc: "Open MPI Users" <users_at_[hidden]>
> Date: Monday, November 10, 2008, 9:26 PM
> 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