Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] rpmbuild defining opt install path
From: Lloyd Brown (lloyd_brown_at_[hidden])
Date: 2012-06-26 16:24:56

Something else interesting that I just discovered. If I do this, I have
the problem:

rpmbuild --rebuild <various options> -bb path/to/openmpi-1.6-2.src.rpm

However, if I do an "rpm -i path/to/openmpi-1.6-2.src.rpm", and then do
very-similar rpmbuild syntax, it puts everything where I want it:

rpmbuild <various options> -bb path/to/openmpi-1.6.spec

In this case, the "<various options>" are all exactly the same. Clearly
there's something I'm missing about the RPM build process.

Lloyd Brown
Systems Administrator
Fulton Supercomputing Lab
Brigham Young University

On 06/26/2012 12:40 PM, Lloyd Brown wrote:
> Is there an easy way with the .spec file and the rpmbuild command, for
> me to override the path the OpenMPI RPM installs into, in /opt?
> Basically, I'm already doing something like this:
> rpmbuild --rebuild --define 'install_in_opt 1' --define '_name
> fsl_openmpi_intel' --define 'name fsl_openmpi_intel' ... -bb
> openmpi-1.6-2.src.rpm
> For some reason, though, while most of it ends up in
> "/opt/fsl_openmpi_intel/1.6", as I intend, a few files still get put
> into "/opt/openmpi/1.6/etc", and I'm not sure what else I can do to put
> it where I want:
>> # rpm -q -l -p /root/rpmbuild/RPMS/x86_64/fsl_openmpi_intel-1.6-2.x86_64.rpm
>> /opt/fsl_openmpi_intel
>> /opt/fsl_openmpi_intel/1.6
>> /opt/fsl_openmpi_intel/1.6/bin
>> /opt/fsl_openmpi_intel/1.6/bin/mpiCC
>> /opt/fsl_openmpi_intel/1.6/bin/mpiCC-vt
>> /opt/fsl_openmpi_intel/1.6/bin/mpic++
>> /opt/fsl_openmpi_intel/1.6/bin/mpic++-vt
>> /opt/fsl_openmpi_intel/1.6/bin/mpicc
>> ...
>> /opt/fsl_openmpi_intel/1.6/share/vtsetup-data.dtd
>> /opt/fsl_openmpi_intel/1.6/share/vtsetup-data.xml
>> /opt/openmpi/1.6/etc
>> /opt/openmpi/1.6/etc/openmpi-default-hostfile
>> /opt/openmpi/1.6/etc/openmpi-mca-params.conf
>> /opt/openmpi/1.6/etc/openmpi-totalview.tcl
>> /opt/openmpi/1.6/etc/vt-java-default-filter.spec
>> /opt/openmpi/1.6/etc/vtsetup-config.dtd
>> /opt/openmpi/1.6/etc/vtsetup-config.xml
> I realize it might not be a good idea in general to override "name" and
> "_name" like this, so if there's an easier way, I'd be happy to do it.
> I just haven't found anything yet, and haven't yet found the place in
> the spec file where it's being set to "/opt/openmpi" again.
> We're probably going to end up with at least 3 versions of v1.6 (gcc
> compilers, intel compilers, pgi compilers) and possibly a few of a
> previous version, so putting everything in /opt/openmpi/VERSION, is a
> little problematic.
> Thanks,