The firewall should already be solved. Basically, you have to define a set of ports in your firewall that will let TCP messages pass through, and then tell OMPI to use those ports for both the TCP BTL and the OOB.

"ompi_info --params btl tcp" - will tell you the right param to set for the TCP BTL

"ompi_info --params oob tcp" will do the same for the OOB

Of course, that -does- leave a hole in your firewall that any TCP message can exploit. :-/  You could look at more secure alternative ways.

I'm not sure how to solve the NAT problem as it boils down to how to specify the names/IP addresses of the nodes behind the NAT. Someone who understands NATs better can help you there - I know there is a way to do it, but I've never played with it.


On Jun 12, 2009, at 11:00 AM, Leo P. wrote:

Thank you Ralph and Samuel. 

Sorry for the complete newbie question. 

The reason that i wanted to study openMPI is because i wanted to make open MPI support nodes that are behind NAT or firewall. If you guys could give me some pointers on how to go about doing this i would appreciate alot. I am considering this for my thesis project.


From: Ralph Castain <>
To: Open MPI Developers <>
Sent: Friday, 12 June, 2009 9:56:16 PM
Subject: Re: [OMPI devel] Enabling debugging and profiling in openMPI (make "CFLAGS=-pg -g")

If you do a "./configure --help" you will get a complete list of the configure options. You may want to turn on more things than just enable-debug, though that is the critical first step.

On Jun 12, 2009, at 8:31 AM, Samuel K. Gutierrez wrote:


Let me begin by stating that I'm at most an Open MPI novice - but you may want to try the addition of the --enable-debug configure option.  That is, for example:

./configure --enable-debug; make

Hope this helps.

Samuel K. Gutierrez
On Jun 12, 2009, at 3:27 AM, Leo P. wrote:

Hi everyone,

I am trying to understand the openMPI code so was trying to enable debug and profiling by issusing 

$ make "CFLAGS=-pg -g"

But i am getting this error.

libtool: link: ( cd ".libs" && rm -f "" && ln -s "../" "" )
make[3]: Leaving directory `/home/Desktop/openmpi-1.3.2/opal/mca/paffinity/linux'
make[2]: Leaving directory `/home/Desktop/openmpi-1.3.2/opal/mca/paffinity/linux'
Making all in tools/wrappers
make[2]: Entering directory `/home/Desktop/openmpi-1.3.2/opal/tools/wrappers'
depbase=`echo opal_wrapper.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
    gcc "-DEXEEXT=\"\"" -I. -I../../../opal/include -I../../../orte/include -I../../../ompi/include -I../../../opal/mca/paffinity/linux/plpa/src/libplpa   -I../../..    -pg -g -MT opal_wrapper.o -MD -MP -MF $depbase.Tpo -c -o opal_wrapper.o opal_wrapper.c &&\
    mv -f $depbase.Tpo $depbase.Po
/bin/bash ../../../libtool --tag=CC   --mode=link gcc  -pg -g  -export-dynamic   -o opal_wrapper opal_wrapper.o ../../../opal/ -lnsl -lutil  -lm 
libtool: link: gcc -pg -g -o .libs/opal_wrapper opal_wrapper.o -Wl,--export-dynamic  ../../../opal/.libs/ -ldl -lnsl -lutil -lm
../../../opal/.libs/ undefined reference to `pthread_key_create'
../../../opal/.libs/ undefined reference to `pthread_getspecific'
../../../opal/.libs/ undefined reference to `pthread_create'
../../../opal/.libs/ undefined reference to `pthread_atfork'
../../../opal/.libs/ undefined reference to `pthread_setspecific'
../../../opal/.libs/ undefined reference to `pthread_join'
collect2: ld returned 1 exit status
make[2]: *** [opal_wrapper] Error 1
make[2]: Leaving directory `/home//Desktop/openmpi-1.3.2/opal/tools/wrappers'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Desktop/openmpi-1.3.2/opal'
make: *** [all-recursive] Error 1

Is there any other way of enabling debugging and profilling in open MPI.


Explore your hobbies and interests. Click here to begin._______________________________________________
devel mailing list

devel mailing list

Bollywood news, movie reviews, film trailers and more! Click here._______________________________________________
devel mailing list