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
> > us...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> 

Reply via email to