Thanks for the report!
We've actually fixed and improved the specfile as part of the 1.2ofed
release (see http://www.open-mpi.org/faq/?category=openfabrics#ofed-
and-ompi-versions); those fixes should be available soon.
In the meantime, here's the specfile that we're using for the 1.2
ofed release:
https://svn.open-mpi.org/trac/ompi/browser/branches/v1.2ofed/contrib/
dist/linux/openmpi.spec
On Apr 3, 2007, at 8:42 AM, Marcin Dulak wrote:
Hi,
I found that the /etc/profile.d/openmpi-1.2.sh and
/etc/profile.d/openmpi-1.2.csh generated using openmpi.spec are
incorrect.
The contents of the generated (see the details of the generation
process
at the very end of my email) scripts is the following:
----------------------------------------------------------------------
---------------------
/etc/profile.d/openmpi-1.2.sh
----------------------------------------------------------------------
---------------------
# NOTE: This is an automatically-generated file! (generated by the
# Open MPI RPM). Any changes made here will be lost a) if the RPM is
# uninstalled, or b) if the RPM is upgraded or uninstalled.
CHANGED=0
if test -z ""; then
PATH=${PATH}:/opt/openmpi/1.2/bin/
CHANGED=1
fi
if test -z ""; then
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/openmpi/1.2/lib
CHANGED=1
fi
if test -z ""; then
MANPATH=${MANPATH}:/opt/openmpi/1.2/man
CHANGED=1
fi
if test "" = "1"; then
export PATH LD_LIBRARY_PATH MANPATH
fi
----------------------------------------------------------------------
---------------------
/etc/profile.d/openmpi-1.2.csh
----------------------------------------------------------------------
---------------------
# NOTE: This is an automatically-generated file! (generated by the
# Open MPI RPM). Any changes made here will be lost a) if the RPM is
# uninstalled, or b) if the RPM is upgraded or uninstalled.
if ("") then
setenv PATH ${PATH}:/opt/openmpi/1.2/bin/
endif
if ("1LD_LIBRARY_PATH") then
if ("") then
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/opt/openmpi/1.2/lib
endif
endif
if ("1MANPATH") then
if ("") then
setenv MANPATH ${MANPATH}:/opt/openmpi/1.2/man
endif
endif
----------------------------------------------------------------------
---------------------
The sh one is incorrect in the line
if test "" = "1"; then
which should be
if test "$CHANGED" = "1"; then
The csh one is incorrect in several places,
like 1LD_LIBRARY_PATH (comming from the missing backslash in
openmpi.spec),
and the whole logic of csh seems to be incorrect as well (e.g. nothing
happens if LD_LIBRARY_PATH
is not set in the shell running the rpmbuild process!).
By the way, the dependence of the openmpi.spec file of the current
contents of the PATH etc. variables
is risky (when compiling, installing and uninstalling openmpi rpm
several times)
and I think that the user should be warned in some way by the
script to
remove traces
of openmpi related variables from the shell running rpmbuild.
I attach a patch to the original 1.2 openmpi.spec file, which
should fix
these problems.
I find the possibility of installation of openmpi to /opt/ very useful
and I hope that my comments help to improve it.
Marcin
Details of the rpm generation process:
I created the rpm of openmpi-1.2 using the provided buildrpm.sh and
openmpi.spec files
(I use:
RPM version 4.3.3,
GNU bash, version 3.00.15(1)-release (i686-redhat-linux-gnu)).
Here are my settings from buildrpm.sh script:
specfile="openmpi.spec"
rpmbuild_options="--define 'mflags -j4'"
configure_options="--with-tm=/usr/local FC=pgf90 F77=pgf90 CC=pgcc
CXX=pgCC CFLAGS=-Msignextend CXXFLAGS=-Msignextend
--with-wrapper-cflags=-Msignextend --with-wrapper-cxxflags=-
Msignextend
FFLAGS=-Msignextend FCFLAGS=-Msignextend
--with-wrapper-fflags=-Msignextend --with-wrapper-fcflags=-
Msignextend"
rpmbuild_options=${rpmbuild_options}" --define 'install_in_opt 1'
--define 'install_profile_d_scripts 1' --define 'install_modulefile
0'"
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
Jeff Squyres
Cisco Systems