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 http://marylou.byu.edu 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,