I've managed to figure it out in the end. My .bashrc had on the first line the commad 'clear', before the TERM was set. When I log in, the default behaviour of ssh seems to be that of using whatver TERM you had before on the host you come from, so probably that's why 'clear' worked even if it was coming after 'export TERM=xterm'. But when one uses ssh just to run a command on a certain host without login in, the TERM sometimes isn't exported, this you can check by running
ssh remote host "echo $TERM".
In my case specifying the remote host by its IP address (ssh 192.168.25.33 ) the above command was returning 'dumb', specifying it by hostname (ssh node32) was returning the correct 'xterm', while in both cases still complaining about 'TERM environment variable not set' if the 'clear' was in the .bashrc, without any explicit TERM exported in advance.
The solution was to relocate everything that had to to with TERM, commands like 'clear' and 'tput', from .bashrc to .bash_login. By doing so also relieves you of explicitly specifying the TERM, either in .bashrc or in .bash_login. I guess one could leave it as well in .bashrc as well but under the condition it is runned only if "$TERM" != "dumb".
Although the problem was relatively trivial, I think the LAM documentation should contain some kind of warning about it. I was looking for something like that, but so far I didn't find anything related, although I admit I didn't do a exhaustive search.
Hello everybody,
I'm trying to start the parallel environment in our cluster; for testing purposes I've chosen two nodes, 192.168.25.32 and 192.168.25.33, 32 being the node where the lamboot command is launched.
Both the commands
recon -v -b lamhost
lamboot -v -b lamhost
give more or less the following message:
ssi:boot:base:linear: booting n0 (192.168.25.32)
ssi:boot:base:linear: booting n1 (192.168.25.33)
ERROR: LAM/MPI unexpectedly received the following on stderr:
TERM environment variable not set.
Followed by the standard stuff:
LAM attempted to execute a process on the remote node "192.168.25.33",
but received some output on the standard error. This heuristic
assumes that any output on the standard error indicates a fatal error,
and therefore aborts. You can disable this behavior (i.e., have LAM
ignore output on standard error) in the rsh boot module by setting the
SSI parameter boot_rsh_ignore_stderr to 1.
You have any idea what TERM it actually wants? Or how to specify it? My .bashrc has TERM set as xterm.
For the coarse-natured the penance of self-denial is the only effective purge.
---------------------------------
Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2¢/min or less.
|