是的,这很奇怪。
我在RH 7.6上运行openmpi-4.0.2遇到麻烦。一切都是段错误,甚至是非MPI Shell脚本。如果我以其他用户身份运行,那么一切都会按预期运行-因此,这取决于用户。而且我一直在寻找自己的环境和其他用户的环境,寻找有毒物质。
将内容精简为裸机后,我发现基本的ssh命令将环境变量LD_libraRY_PATH设置为以“:”结尾的字符串,这对我的用户来说是有毒的。对其他使用者无毒。
对于RH 6.1、7.4和7.6会发生这种情况。我有一个RH 7.1系统,在该系统上不会发生这种情况(怪异的行为不断地付出和付出)。
我需要解决以下问题的两件事之一:一种是通过“ mpiexec”命令在基础ssh命令中填充LD_libraRY_PATH(到目前为止,我的所有尝试均以失败告终),或者是找到用户的根本原因环境并修复它。
以下是来自RH 6.1的信息,它提供了实际的错误消息,而不仅仅是段错误。
-bash-4.1$ /usr/bin/ssh -x $(hostname) 'LD_libraRY_PATH=barney:fred ; export LD_libraRY_PATH ; echo done ; env | egrep LD_'
done
LD_libraRY_PATH=barney:fred
-bash-4.1$ /usr/bin/ssh -x $(hostname) 'LD_libraRY_PATH=barney: ; export LD_libraRY_PATH ; echo done ; env | egrep LD_'
done
env: relocation error: libc.so.6: symbol _dl_starting_up,version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference
egrep: relocation error: libc.so.6: symbol _dl_starting_up,version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference
-bash-4.1$ /usr/bin/ssh -x $(hostname) 'LD_libraRY_PATH=barney ; export LD_libraRY_PATH ; echo done ; env | egrep LD_'
done
LD_libraRY_PATH=barney
-bash-4.1$ sudo su - otheruser
-bash-4.1$ /usr/bin/ssh -x $(hostname) 'LD_libraRY_PATH=barney:fred ; export LD_libraRY_PATH ; echo done ; env | egrep LD_'
done
LD_libraRY_PATH=barney:fred
-bash-4.1$ /usr/bin/ssh -x $(hostname) 'LD_libraRY_PATH=barney: ; export LD_libraRY_PATH ; echo done ; env | egrep LD_'
done
LD_libraRY_PATH=barney:
-bash-4.1$ /usr/bin/ssh -x $(hostname) 'LD_libraRY_PATH=barney ; export LD_libraRY_PATH ; echo done ; env | egrep LD_'
done
LD_libraRY_PATH=barney