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 14:18:25


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

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

Does anyone has experience building MPI on Fedora? Are there any additional steps required other then yum install openmpi*?

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], "Open MPI Users" <users_at_[hidden]>
> Date: Monday, November 10, 2008, 8:40 PM
> On Nov 10, 2008, at 8:27 AM, Oleg V. Zhylin wrote:
>
> > I would like to to build OpenMPI from
> openmpi-1.2.8-1.src.rpm. I've tried plain rpmbuild and
> rpmbuild ... --define 'build_all_in_one_rpm 1' but
> resulting rpm doesn't conain any *.a libraries.
>
> Right -- OMPI builds shared libraries by default.
>
> > I think this is a problem because I've straced
> mpif90 and discovered that ld invoked from gfortran only
> looks for libmpi_f90.a in response to -lmpi_f90 inroduced by
> mpif90.
>
>
> 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:
>
>
> http://www.open-mpi.org/faq/?category=mpi-apps#override-wrappers-after-v1.0
>
> --Jeff Squyres
> Cisco Systems