Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MPICH2 gethostbyname failed

Tags:

mpi

mpich

I don't understand the error message. I am trying to do is to run a MPICH2 application after I installed mpich2 version 1.4 or 1.5 to /opt/mpich2 (both version failed with the same error). My MPI application was compiled with 1.3 but I am able to run it with mpi 1.4 on another workstation. I am testing it on Ubuntu 12.04.

Fatal error in PMPI_Init_thread: Other MPI error, error stack:
MPIR_Init_thread(467)..............: 
MPID_Init(177).....................: channel initialization failed
MPIDI_CH3_Init(70).................: 
MPID_nem_init(319).................: 
MPID_nem_tcp_init(171).............: 
MPID_nem_tcp_get_business_card(418): 
MPID_nem_tcp_init(377).............: gethostbyname failed, localhost (errno 3)
like image 837
biocyberman Avatar asked Apr 16 '14 14:04

biocyberman


2 Answers

Solution for macOS

I stumbled upon this issue on macOS 10.12.1.

The solution is to add 127.0.0.1 computername.local to /etc/hosts. Your file will look more or less like this:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
127.0.0.1   computername.local
255.255.255.255 broadcasthost
::1             localhost 

You can change/check your computer's name if you go to System Preferences > Sharing > Computer Name.

like image 159
Mateusz Piotrowski Avatar answered Oct 07 '22 04:10

Mateusz Piotrowski


What worked for me was the following:

Make sure your hostname is the same for 1 and 2 below:

  1. terminal hostname
  2. "/etc/hosts" hostname

So if you type cat /etc/hosts in terminal it should look like:

// 127.0.0.1       my_hostname

My hostname was not the same for 1 and 2 for me. Once I changed them to match then my mpi program would execute.

To change your terminal hostname type the following: sudo scutil --set HostName my_new_host_name

To change your /etc/hosts hostname type the following: sudo nano /etc/hosts

and then add the line

127.0.0.1       my_new_hostname
like image 17
timxor Avatar answered Oct 07 '22 03:10

timxor