Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] RPM build errors when creating multiple rpms
From: Christopher Irving (cirving_at_[hidden])
Date: 2008-03-17 14:34:23


Well that fixed the errors for the case prefix=/usr but after looking at
the spec file I suspected it would cause a problem if you used the
install_in_opt option. So I tried it and got the following errors:

    RPM build errors:
    Installed (but unpackaged) file(s) found:
   /opt/openmpi/1.2.5/etc/openmpi-default-hostfile
   /opt/openmpi/1.2.5/etc/openmpi-mca-params.conf
   /opt/openmpi/1.2.5/etc/openmpi-totalview.tcl

I just don't think the inclusion of _sysconfdir needs to be wrapped in
a condition statement. It needs to be included in either case,
installing to /opt or to /usr, and will already be correctly defined for
both. So in the new spec file if you get rid of line 651 - %if !
%{sysconfdir_in_prefix} - and the closing endif on 653 it will work for
both cases.

-Christopher

On Fri, 2008-03-14 at 20:01 -0400, Jeff Squyres wrote:
> Could you try this version of the specfile (there's a download link at
> the bottom):
>
> https://svn.open-mpi.org/trac/ompi/browser/trunk/contrib/dist/linux/openmpi.spec
>
> This is the specfile on the OMPI trunk, which hasn't made it over to
> the v1.2 branch yet. Here's the diff between the two (I think I fixed
> all the problems you noted):
>
> https://svn.open-mpi.org/trac/ompi/changeset?old_path=trunk%2Fcontrib%2Fdist%2Flinux%2Fopenmpi.spec&old=HEAD&new_path=branches%2Fv1.2%2Fcontrib%2Fdist%2Flinux%2Fopenmpi.spec&new=HEAD
>
> And FYI, the mpi.mod file goes in the devel RPM; it's the Fortran 90
> MPI API module. Think of it as basically a precompiled header for
> Fortran 90.
>
> Let me know if that fixes the problems for you.
>
>
>
> On Mar 13, 2008, at 7:37 PM, Christopher Irving wrote:
>
> > I ran into the following problem when trying to build multiple rpms
> > from
> > the SRPM for 1.2.5. Everything compiled fine and building a single
> > rpm
> > had no errors. However, trying to build multiple packages errored out
> > with:
> >
> > openmpi-1.2.5-1-root
> > error: Installed (but unpackaged) file(s) found:
> > /usr/lib64/mpi.mod
> >
> > RPM build errors:
> > File listed twice: /etc
> > File listed twice: /etc/openmpi-default-hostfile
> > File listed twice: /etc/openmpi-mca-params.conf
> > File listed twice: /etc/openmpi-totalview.tcl
> > Installed (but unpackaged) file(s) found:
> > /usr/lib64/mpi.mod
> >
> > My rpmbuild command line was:
> > rpmbuild -bb --define 'build_all_in_one_rpm 0' --define
> > 'configure_options / --with-mip-f90-size=medium
> > --with-tm=/usr/local/lib64' openmpi-1.2.5.spec
> >
> > The multiple files problem was cause by %{_sysconfdir} getting
> > included
> > twice in the %files section for the runtime package in the spec file.
> > Once on line 660 and once on line 675 . I removed the second instance
> > but I'm not sure if that was the correct one. It might cause problems
> > if you were installing to /opt. Maybe the else statement on line 659
> > and line 660 should be removed since %{_sysconfdir} needs to be
> > included
> > no matter where you are installing and should be already be defined
> > correctly for both.
> >
> > The other problem was a little trickier because I don't know which
> > package mpi.mod should go in. As a quick fix I just added the line
> > %{_libdir}/mpi.mod to the runtime package %files. It probably
> > should be
> > added to either runtime.files or devel.files when they are created.
> >
> > After making these changes rpmbuild worked just fine.
> >
> > I doubt that it's needed but here's a diff just for the hell of it.
> >
> > --- openmpi-1.2.5.spec 2008-01-08 11:08:57.000000000 -0800
> > +++ openmpi-1.2.5.spec.new 2008-03-13 15:43:19.000000000 -0700
> > @@ -672,7 +672,7 @@
> > %dir %{_libdir}
> > %dir %{_libdir}/openmpi
> > %doc README INSTALL LICENSE
> > -%{_sysconfdir}
> > +%{_libdir}/mpi.mod
> > %{_pkgdatadir}
> > %{_bindir}/mpirun
> > %{_bindir}/mpiexec
> >
> > -Christopher
> >
> > _______________________________________________
> > users mailing list
> > users_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>