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