Hi, I have compiled OpenMPI 1.2.2 with the "--enable-mpirun-prefix-by-default" option to avoid users having to set their LD_LIBRARY_PATH. This works fine for compute nodes where users are allowed to login.
Users are not allowed to login to our production clusters directly. Instead, they have to use our LSF batch system to submit their OpenMPI jobs. This makes the mpirun-prefix fail for the LD_LIBRARY_PATH. In line 568 of openmpi-1.2.2/orte/mca/pls/rsh/pls_rsh_module.c the call "p = getpwuid(getuid());" returns an invalid shell on our compute nodes. This leads to "pls:rsh: local csh: 0, local sh: 0", i.e. the local shell is not defined and only the user's ~/.profile gets exectuted in lines 649ff. This forces users to set their LD_LIBRARY_PATH instead of having OpenMPI do this for them in lines 981ff. Before LSF starts a user job, it sets their complete environment including the SHELL environment variable. I am wondering whether OpenMPI could look at that env. variable in lines 567ff in addition to or instead of the getpwuid() call. Many thanks, Alf. ----------------------------------------------------------------------- Alf Wachsmann | e-mail: a...@slac.stanford.edu SLAC - Scientific Computing | Phone: +1-650-926-4802 2575 Sand Hill Road, M/S 97 | FAX: +1-650-926-3329 Menlo Park, CA 94025, USA | Office: Bldg. 50/323 ----------------------------------------------------------------------- http://www.slac.stanford.edu/~alfw (PGP) -----------------------------------------------------------------------