diff -ur lam-7.1.2-orig/etc/lam-helpfile lam-7.1.2/etc/lam-helpfile --- lam-7.1.2-orig/etc/lam-helpfile 2006-03-10 22:19:06.000000000 +0100 +++ lam-7.1.2/etc/lam-helpfile 2006-06-09 13:16:13.000000000 +0200 @@ -553,12 +553,12 @@ # environment where remote lamds can not talk to the origin lamd. # %1 = name of the invoking program # %2 = name of offending host -%1 found that the hostname "%2" resolves to 127.0.0.1. +%1 found that the hostname "%2" resolves to "%3". When using LAM/MPI with more than one host, all hosts specified in the boot schema must resolve to an address that is reachable from all -other hosts. This is not possible with the special IP address -127.0.0.1 -- by definition, 127.0.0.1 can *only* be reached from the +other hosts. This is not possible with the special IP addresses +127.x.y.z -- by definition, 127.x.y.z can *only* be reached from the local host. In order to fix this problem: @@ -569,7 +569,7 @@ %2 - does not resolve to 127.0.0.1. + does not resolve to 127.x.y.z. Note that in many recent Linux distributions, the host name of a machine will be added to /etc/hosts for the entry 127.0.0.1. This is @@ -577,7 +577,7 @@ correct. The host name of the local machine should instead be in a separate entry with the IP address to which the name resolves. -Also note that it is perfectly acceptable to use 127.0.0.1 when only +Also note that it is perfectly acceptable to use "%3" when only *ONE* host is being used with LAM/MPI. -*-boot-ssi:selected-module-unavailable-*- # Invoked when a specific boot SSI module was requested on the command diff -ur lam-7.1.2-orig/share/boot/lamnet.c lam-7.1.2/share/boot/lamnet.c --- lam-7.1.2-orig/share/boot/lamnet.c 2006-02-24 00:27:13.000000000 +0100 +++ lam-7.1.2/share/boot/lamnet.c 2006-06-09 13:27:44.000000000 +0200 @@ -158,6 +158,11 @@ if (lamnet[i].lnd_nodeid == NOTNODEID) continue; + if (inet_netof(lamnet[i].lnd_addr.sin_addr) == 127) { + free(ifaddr); + return(i); + } + for (j = 0; j < nifaddr; ++j) { if (ifaddr[j] == lamnet[i].lnd_addr.sin_addr.s_addr) { free(ifaddr); diff -ur lam-7.1.2-orig/share/ssi/boot/globus/src/ssi_boot_globus.c lam-7.1.2/share/ssi/boot/globus/src/ssi_boot_globus.c --- lam-7.1.2-orig/share/ssi/boot/globus/src/ssi_boot_globus.c 2006-02-24 00:27:11.000000000 +0100 +++ lam-7.1.2/share/ssi/boot/globus/src/ssi_boot_globus.c 2006-06-09 13:41:21.000000000 +0200 @@ -369,14 +369,14 @@ /* If there is more than one node in the universe -- and we are not using the -l option -- ensure that the origin node does not - resolve to 127.0.0.1, or the remote nodes will NOT be sent info + resolve to 127.x.y.z, or the remote nodes will NOT be sent info back to lamboot */ if (nnodes > 1 && !ao_taken(lam_ssi_boot_optd, "l")) { - if (strcmp("127.0.0.1", - inet_ntoa(nodes[origin].lnd_addr.sin_addr)) == 0) { + if (inet_netof(nodes[origin].lnd_addr.sin_addr) == 127) { show_help("boot-ssi", "resolve-localhost", - "The boot SSI globus module", nodes[origin].lnd_hname); + "The boot SSI globus module", nodes[origin].lnd_hname, + inet_ntoa(nodes[origin].lnd_addr.sin_addr)); return LAMERROR; } } diff -ur lam-7.1.2-orig/share/ssi/boot/rsh/src/ssi_boot_rsh.c lam-7.1.2/share/ssi/boot/rsh/src/ssi_boot_rsh.c --- lam-7.1.2-orig/share/ssi/boot/rsh/src/ssi_boot_rsh.c 2006-02-24 00:27:11.000000000 +0100 +++ lam-7.1.2/share/ssi/boot/rsh/src/ssi_boot_rsh.c 2006-06-09 13:29:53.000000000 +0200 @@ -357,14 +357,14 @@ /* If there is more than one node in the universe -- and we are not using the -l option -- ensure that the origin node does not - resolve to 127.0.0.1, or the remote nodes will NOT be sent info + resolve to 127.x.y.z, or the remote nodes will NOT be sent info back to lamboot */ if (nnodes > 1 && !ao_taken(lam_ssi_boot_optd, "l")) { - if (strcmp("127.0.0.1", - inet_ntoa(nodes[origin].lnd_addr.sin_addr)) == 0) { + if (inet_netof(nodes[origin].lnd_addr.sin_addr) == 127) { show_help("boot-ssi", "resolve-localhost", - "The boot SSI rsh module", nodes[origin].lnd_hname); + "The boot SSI rsh module", nodes[origin].lnd_hname, + inet_ntoa(nodes[origin].lnd_addr.sin_addr)); return LAMERROR; } }