Hi all, I have been working on getting a nightly tarball of Open MPI to build on a Cray XT4 system running CNL. I found the following post on the forum: http://www.open-mpi.org/community/lists/users/2007/09/4059.php. I had to modify the configure options a little (added another include directory to CFLAGS, and inserted the '--disable-mpi-f77' flag) to get it to build for me, here is what I used:
./configure CC=/opt/xt-pe/default/bin/snos64/linux-pgcc CXX=/opt/xt-pe/default/bin/snos64/linux-pgCC F77=/opt/xt-pe/default/bin/snos64/linux-pgftn FC=/opt/xt-pe/default/bin/snos64/linux-pgf90 CFLAGS="-I/opt/xt-pe/default/include/ -I/opt/xt-catamount/default/catamount/linux/include/" CPPFLAGS=-I/opt/xt-pe/default/include/ FCFLAGS=-I/opt/xt-pe/default/include/ FFLAGS=-I/opt/xt-pe/default/include/ LDFLAGS=-L/opt/xt-mpt/default/lib/snos64/ LIBS="-lpct -lalpslli -lalpsutil" --build=x86_64-unknown-linux-gnu --host=x86_64-cray-linux-gnu --with-platform=/lus/nid00008/jundt/openmpi-1.3a1r18788/contrib/platform/cray_xt3_romio --with-io-romio-flags=--disable-aio build_alias=x86_64-unknown-linux-gnu host_alias=x86_64-cray-linux-gnu --enable-ltdl-convenience --no-recursion --disable-mpi-f77 --prefix=~/OpenMPI It builds without error (minus a warning that it doesn't recognize the --enable-ltdl-convenience flag). The problem comes when trying to compile a program and link with Open MPI. Here is what I get: > ~/OpenMPI/bin/mpicc test.c ~/OpenMPI/lib/libopen-rte.a(session_dir.o): In function `orte_session_dir_get_name': session_dir.c:(.text+0x7e): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking ~/OpenMPI/lib/libmpi.a(btl_tcp_component.o): In function `mca_btl_tcp_component_create_listen': btl_tcp_component.c:(.text+0x11c0): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking ~/OpenMPI/lib/libopen-pal.a(timer_catamount_component.o): In function `opal_timer_catamount_open': timer_catamount_component.c:(.text+0x6): undefined reference to `__cpu_mhz' Looking into timer_catamount_component.c, __cpu_mhz is defined within the <catamount/dclock.h> file (which it should have already pulled in). I realize that this is a very specified question, but I was curious if anyone else had successfully gotten Open MPI to work on a similar system, and if so, what configure options were used? If not, is anyone aware of how to circumvent the problem? By the way, I did try modifying the file timer_catamount_component.c to not reference __cpu_mhz to see the result, and the program is able to successfully compile, but hangs upon execution, i.e.: > ~/OpenMPI/bin/mpicc test.c ~/OpenMPI/lib/libopen-rte.a(session_dir.o): In function `orte_session_dir_get_name': session_dir.c:(.text+0x7e): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking ~/OpenMPI/lib/libmpi.a(btl_tcp_component.o): In function `mca_btl_tcp_component_create_listen': btl_tcp_component.c:(.text+0x11c0): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking > aprun -n 2 ./a.out ... program hangs... Thanks! Adam