This section describes some of the most common problems encountered when building and using mpich. See also Section Frequently Asked Questions which covers frequently asked questions, including some additional problems.
A:
If you see something like this
% mpirun -np 2 cpi Permission denied.or
% mpirun -np 2 cpi socket: protocol failure in circuit setupwhen using the ch_p4 device, it probably means that you do not have permission to use rsh to start processes. The script tstmachines can be used to test this. Try
tstmachinesIf this fails, then you may need a .rhosts or /etc/hosts.equiv file (you may need to see your system administrator) or you may need to use the p4 server (see Section Using the Secure Server ). Another possible problem is the choice of the remote shell program; some systems have several. Check with your systems administrator about which version of rsh or remsh you should be using. If you must use ssh, see the section on using ssh in the Installation Manual.
If your system policy allows a .rhosts file, do the following:
host usernameFor example, if your username is doe and you want to user machines a.our.org and b.our.org, your .rhosts file should contain
a.our.org doe b.our.org doeNote the use of fully qualified host names (some systems require this).
On networks where the use of .rhosts files is not allowed, you should use the secure server to run on machines that are not trusted by the machine that you are initiating the job from.
Finally, you may need to use a non-standard rsh command within mpich. mpich must be reconfigured with -rsh=command_name, and perhaps also with -rshnol if the remote shell command does not support the -l argument. Systems using Kerberos and/or AFS may need this. See the section in the Installation Guide on using the secure shell ssh.
An alternate source of the ``Permission denied.'' message is that you have used the su command to change your effective user id. On some systems the ch_p4 device will not work in this situation. Log in normally and try again.
iptables --list ipchains --listLook for any limits, restrictions on source or destination ports, or limits on syn (a type of TCP packet used in establishing connections). If you find such limits, study your security documentation and decide how you want to modify the security settings. We normally recommend that a cluster be placed behind a firewall rather than having each cluster node limit the use of TCP.
Also check the file /etc/inetd.conf to ensure that it allow more processes per minute for rsh. See the FAQ entry (Appendix Frequently Asked Questions ) on ``poll: protocol failure during circuit creation''.
Another common problem with programs that mix Fortran and C is missing libraries. The mpich configure attempts to determine the libraries that are necessary when linking C with Fortran, but may miss some. There are additional suggestions for this problem in Section Problems compiling or linking Fortran programs .