I discovered the hard way that there are openmpi profile.d scripts that get packaged into openmpi rpm files. The reason this became a painful issue for our cluster is that it seems the csh profile.d script that gets installed with the openmpi-runtime-1.1.4 is defective. If it gets sourced into a user's environment it makes tcsh on linux error out with a "if: Badly formed number"
I want to be able to alter the spec file that builds the rpm so I can have it automagically incorperate the patch we worked up to fix this issue but I have not been able to figure out where in the openmpi sources that the profile.d scripts for csh and sh get generated. We had to patch the openmpi-1.1.4.csh script as follows: -if ("") then - setenv PATH ${PATH}:/opt/openmpi-g95/1.1.4/bin/ +if ( $?PATH ) then + setenv PATH ${PATH}:/opt/openmpi/1.1.4/bin/ endif -if ("1LD_LIBRARY_PATH") then - if ("") then - setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/opt/openmpi-g95/1.1.4/lib - endif +if ( $?LD_LIBRARY_PATH ) then + setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/opt/openmpi/1.1.4/lib endif -if ("1MANPATH") then - if ("") then - setenv MANPATH ${MANPATH}:/opt/openmpi-g95/1.1.4/man - endif +if ( $?MANPATH ) then + setenv MANPATH ${MANPATH}:/opt/openmpi/1.1.4/man endif