Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] OpenMPI 1.4 RPM Spec file problem
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-12-11 14:32:58


On Dec 9, 2009, at 4:47 PM, Jim Kusznir wrote:

> One (on gcc only): the D_FORTIFY_SOURCE build failure. I've had to
> move the if test "$using_gcc" = 0; then line down to after the
> RPM_OPT_FLAGS= that includes D_FORTIFY_SOURCE; otherwise the compile
> blows up.

Hmm. Can you explain why / provide more detail?

> The second, and in my opinion, more major rpm spec file bug is
> something with the files specification. I build multiple versions of
> OpenMPI to accomidate the collection of compilers I use (on this
> machine, I have intel 10.1 and GCC, and will have to add 9.1 per user
> request); on others, I use PGI and GCC. In any case, here's my build
> command for Intel:
>
> CC=icc CXX=icpc F77=ifort FC=ifort rpmbuild -bb --define
> 'install_in_opt 1' --define 'install_modulefile 1' --define
> 'modules_rpm_name Modules' --define 'build_all_in_one_rpm 0' --define
> 'configure_options --with-tm=/opt/torque' --define '_name
> openmpi-intel' openmpi-1.4.spec
>
> Unfortunately, the filespec is somehow broke and it ends up missing
> most (all?) the files, and failing in the final stage of RPM creation:
>
> -------------------
> Processing files: openmpi-intel-docs-1.4-1
> Finding Provides: /usr/lib/rpm/find-provides openmpi-intel
> Finding Requires: /usr/lib/rpm/find-requires openmpi-intel
> Finding Supplements: /usr/lib/rpm/find-supplements openmpi-intel
> Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> rpmlib(CompressedFileNames) <= 3.0.4-1
> Requires: openmpi-intel-runtime
> Checking for unpackaged file(s): /usr/lib/rpm/check-files
> /var/tmp/openmpi-intel-1.4-1-root
> error: Installed (but unpackaged) file(s) found:
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfaux
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfcompress
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfconfig
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfdump
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfinfo
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfmerge
> /opt/openmpi-intel/1.4/bin/mpiCC-vt
> /opt/openmpi-intel/1.4/bin/mpic++-vt
> /opt/openmpi-intel/1.4/bin/mpicc-vt
> /opt/openmpi-intel/1.4/bin/mpicxx-vt
> /opt/openmpi-intel/1.4/bin/mpif77-vt
> /opt/openmpi-intel/1.4/bin/mpif90-vt
> /opt/openmpi-intel/1.4/bin/ompi-checkpoint
> /opt/openmpi-intel/1.4/bin/ompi-clean
> /opt/openmpi-intel/1.4/bin/ompi-iof
> /opt/openmpi-intel/1.4/bin/ompi-ps
> /opt/openmpi-intel/1.4/bin/ompi-restart
> /opt/openmpi-intel/1.4/bin/ompi-server
> /opt/openmpi-intel/1.4/bin/opari
> /opt/openmpi-intel/1.4/bin/orte-clean
> /opt/openmpi-intel/1.4/bin/orte-iof
> /opt/openmpi-intel/1.4/bin/orte-ps
> /opt/openmpi-intel/1.4/bin/otfdecompress
> /opt/openmpi-intel/1.4/bin/vtcc
> /opt/openmpi-intel/1.4/bin/vtcxx
> /opt/openmpi-intel/1.4/bin/vtf77
> /opt/openmpi-intel/1.4/bin/vtf90
> /opt/openmpi-intel/1.4/bin/vtfilter
> /opt/openmpi-intel/1.4/bin/vtunify
> /opt/openmpi-intel/1.4/etc/openmpi-default-hostfile
> /opt/openmpi-intel/1.4/etc/openmpi-mca-params.conf
> /opt/openmpi-intel/1.4/etc/openmpi-totalview.tcl
> /opt/openmpi-intel/1.4/share/FILTER.SPEC
> /opt/openmpi-intel/1.4/share/GROUPS.SPEC
> /opt/openmpi-intel/1.4/share/METRICS.SPEC
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/ChangeLog
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/LICENSE
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/UserManual.html
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/UserManual.pdf
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/ChangeLog
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/LICENSE
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/Readme.html
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/lacsi01.pdf
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/lacsi01.ps.gz
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/opari-logo-100.gif
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/otf/ChangeLog
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/otf/LICENSE
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/otf/otftools.pdf
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/otf/specification.pdf
> /opt/openmpi-intel/1.4/share/vtcc-wrapper-data.txt
> /opt/openmpi-intel/1.4/share/vtcxx-wrapper-data.txt
> /opt/openmpi-intel/1.4/share/vtf77-wrapper-data.txt
> /opt/openmpi-intel/1.4/share/vtf90-wrapper-data.txt
>
>
> RPM build errors:
> Installed (but unpackaged) file(s) found:
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfaux
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfcompress
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfconfig
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfdump
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfinfo
> /opt/openmpi-intel/1.4/bin/ia64-suse-linux-otfmerge
> /opt/openmpi-intel/1.4/bin/mpiCC-vt
> /opt/openmpi-intel/1.4/bin/mpic++-vt
> /opt/openmpi-intel/1.4/bin/mpicc-vt
> /opt/openmpi-intel/1.4/bin/mpicxx-vt
> /opt/openmpi-intel/1.4/bin/mpif77-vt
> /opt/openmpi-intel/1.4/bin/mpif90-vt
> /opt/openmpi-intel/1.4/bin/ompi-checkpoint
> /opt/openmpi-intel/1.4/bin/ompi-clean
> /opt/openmpi-intel/1.4/bin/ompi-iof
> /opt/openmpi-intel/1.4/bin/ompi-ps
> /opt/openmpi-intel/1.4/bin/ompi-restart
> /opt/openmpi-intel/1.4/bin/ompi-server
> /opt/openmpi-intel/1.4/bin/opari
> /opt/openmpi-intel/1.4/bin/orte-clean
> /opt/openmpi-intel/1.4/bin/orte-iof
> /opt/openmpi-intel/1.4/bin/orte-ps
> /opt/openmpi-intel/1.4/bin/otfdecompress
> /opt/openmpi-intel/1.4/bin/vtcc
> /opt/openmpi-intel/1.4/bin/vtcxx
> /opt/openmpi-intel/1.4/bin/vtf77
> /opt/openmpi-intel/1.4/bin/vtf90
> /opt/openmpi-intel/1.4/bin/vtfilter
> /opt/openmpi-intel/1.4/bin/vtunify
> /opt/openmpi-intel/1.4/etc/openmpi-default-hostfile
> /opt/openmpi-intel/1.4/etc/openmpi-mca-params.conf
> /opt/openmpi-intel/1.4/etc/openmpi-totalview.tcl
> /opt/openmpi-intel/1.4/share/FILTER.SPEC
> /opt/openmpi-intel/1.4/share/GROUPS.SPEC
> /opt/openmpi-intel/1.4/share/METRICS.SPEC
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/ChangeLog
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/LICENSE
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/UserManual.html
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/UserManual.pdf
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/ChangeLog
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/LICENSE
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/Readme.html
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/lacsi01.pdf
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/lacsi01.ps.gz
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/opari/opari-logo-100.gif
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/otf/ChangeLog
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/otf/LICENSE
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/otf/otftools.pdf
> /opt/openmpi-intel/1.4/share/vampirtrace/doc/otf/specification.pdf
> /opt/openmpi-intel/1.4/share/vtcc-wrapper-data.txt
> /opt/openmpi-intel/1.4/share/vtcxx-wrapper-data.txt
> /opt/openmpi-intel/1.4/share/vtf77-wrapper-data.txt
> /opt/openmpi-intel/1.4/share/vtf90-wrapper-data.txt
> ---------------
>
> I took a look at the spec file, and its not clear to me this time
> what's breaking. If %{name} is being properly expanded, then at least
> all the */share/* stuff should have been caught (although I'm not
> clear on how the rest of the stuff was supposed to be caught).

Can you send the specific rpmbuild command line that you're using to build the openmpi-1.4 srpm?

-- 
Jeff Squyres
jsquyres_at_[hidden]