1 votes

La bibliothèque partagée du programme d'exécution à distance ssh n'a pas été trouvée.

Je veux écrire un script pour exécuter un programme sur certaines machines. Je peux me connecter à ces machines pour exécuter le programme.

Mais lorsque j'ai essayé "ssh -n -f hostname "cd xxx ; ./xxx", il a affiché "error while loading shared libraries : libzmq.so.4".

J'ai cherché sur Google et je suis presque sûr que j'ai écrit le LD_LIBRARY_PATH dans le fichier .bashrc et que lorsque j'ai exécuté ssh -n -f hostname "echo $LD_LIBRARY_PATH", le chemin de chargement est correctement défini.

Quelqu'un peut-il m'aider ? Merci beaucoup !

2voto

Galtin Points 11

Lorsque l'on se connecte en utilisant ssh, le ~/.bashrc n'est pas source - mais le ~/.bash_profile l'est - donc si vous définissez le LD_LIBRARY_PATH dans ~/.bashrc, vous devez avoir quelque chose comme ceci dans votre ~/.bash_profile :

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

Et aussi, dans votre ~/.bashrc vous pouvez avoir :

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

Si c'est le cas, vous devez ajouter le paramètre LD_LIBRARY_PATH au-dessus de celui-ci dans le fichier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X