Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: [OMPI users] OpenMPI 1.4 RPM Spec file problem
From: Jim Kusznir (jkusznir_at_[hidden])
Date: 2009-12-09 16:47:38


Hi all:

I'm trying to build openmpi-1.4 rpms using my normal (complex) rpm
build commands, but its failing. I'm running into two errors:

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.

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

Any suggestions / bugfixes to correct this?

--Jim