Thank you Elena - this worked! 

Rob

On Dec 11, 2012, at 8:40 PM, Elena Pourmal wrote:

> Hi,
> 
> I would suggest to check the order of the libraries on the linking line. HDF5 
> should probably be the first, then all MPI libraries, then all compression 
> libraries. You may also try to use the h5pfc script (found under the bin 
> directory of the HDF5 install directory) to compile and link your application.
> 
> Elena 
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Elena Pourmal  The HDF Group  http://hdfgroup.org   
> 1800 So. Oak St., Suite 203, Champaign IL 61820
> 217.531.6112
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> 
> 
> On Dec 11, 2012, at 11:41 AM, Robert Seigel wrote:
> 
>> Hello,
>> 
>> I am trying to update a numerical model (RAMS) so that it has distributive 
>> memory capabilities when run in parallel. I would like to do this using 
>> PHDF5. Currently, RAMS uses MPI for the parallel computing, but it assembles 
>> the grids on a single node before writing to HDF5 in serial. I have re-built 
>> both MPI and HDF5 locally for this upgrade. Here is my problem:
>> 
>> While compiling RAMS with the new parallel HDF5 libraries, the loader stage 
>> complains that within the HDF5 libraries it has "undefined reference to" 
>> MANY MPI routines. If I look in the HDF5 .a libraries (using nm), I see the 
>> references. I have tried adding MPI libraries to the loader  using -lxxx, 
>> but that does not seem to solve my problem. Because of this, I have tried 
>> many different configurations of the libraries. My latest configurations are:
>> 
>> MPI
>> ./configure --prefix=/home/rseigel/mpich2-1.5-install --enable-romio 
>> --enable-mpe 2>&1 | tee c.txt
>> 
>> HDF5
>> ./configure --prefix=/home/rseigel/hdf5-1.8.10 --enable-fortran 
>> --enable-parallel --enable-shared=no CFLAGS="-D_LARGEFILE_SOURCE 
>> -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" 
>> CC=/home/rseigel/mpich2-1.5-install/bin/mpicc
>> 
>> I have checked all of the paths in my environment and the makefile for RAMS 
>> numerous times. Everything is okay from that standpoint. I am not sure what 
>> to do next, as I do not know why there are undefined references. 
>> 
>> Thanks!
>> Rob
>> 
>> Here are the loader errors:
>> 
>> /usr/local/pgi/linux86-64/8.0-4/bin/pgf90 -o rams-6.0-opt rammain.o -v 
>> -Wl,-zmuldefs -Wl, -ldl -lc -lgcc_eh -lpthread -lsz rams-6.0-opt.a \
>>         ./utils/libutils-2.4-opt.a -L./utils -lncarg-2.4  
>> -L/home/rseigel/mpich2-1.5-install/lib -lmpich -lmpl -lmpichf90 -ltmpe 
>> -lampe -lfmpich -llmpe -lmpe -lmpe_collchk -lmpe_f2cmpi -lmpe_nompi 
>> -lmpe_nompi_null -lmpe_null -lmpichcxx -lopa -L/usr/lib64 
>> -L/home/rseigel/hdf5-1.8.10/lib -lhdf5 -L/usr/lib64 -lsz -lz -lm
>> 
>> /usr/bin/ld /usr/lib64/crt1.o /usr/lib64/crti.o 
>> /usr/local/pgi/linux86-64/8.0-4/lib/trace_init.o 
>> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtbegin.o 
>> /usr/local/pgi/linux86-64/8.0-4/lib/f90main.o -m elf_x86_64 -dynamic-linker 
>> /lib64/ld-linux-x86-64.so.2 /usr/local/pgi/linux86-64/8.0-4/lib/pgi.ld 
>> -L./utils -L/home/rseigel/mpich2-1.5-install/lib -L/usr/lib64 
>> -L/home/rseigel/hdf5-1.8.10/lib -L/usr/lib64 
>> -L/usr/local/pgi/linux86-64/8.0-4/lib -L/usr/lib64 
>> -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 rammain.o -zmuldefs -ldl -lc 
>> -lgcc_eh -lpthread -lsz rams-6.0-opt.a ./utils/libutils-2.4-opt.a 
>> -lncarg-2.4 -lmpich -lmpl -lmpichf90 -ltmpe -lampe -lfmpich -llmpe -lmpe 
>> -lmpe_collchk -lmpe_f2cmpi -lmpe_nompi -lmpe_nompi_null -lmpe_null 
>> -lmpichcxx -lopa -lhdf5 -lsz -lz -lm -rpath 
>> /usr/local/pgi/linux86-64/8.0-4/lib -o rams-6.0-opt -lpgf90 -lpgf90_rpm1 
>> -lpgf902 -lpgf90rtl -lpgftnrtl -lnspgc -lpgc -lrt -lpthread -lm -lgcc -lc 
>> -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtend.o /usr/lib64/crtn.o
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5AC.o): In function 
>> `H5AC_propagate_flushed_and_still_clean_entries_list':
>> H5AC.c:(.text+0xf03): undefined reference to `MPI_Error_string'
>> H5AC.c:(.text+0xfdd): undefined reference to `MPI_Error_string'
>> H5AC.c:(.text+0x10aa): undefined reference to `MPI_Error_string'
>> H5AC.c:(.text+0x12ea): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5AC.o): In function 
>> `H5AC_rsp__p0_only__flush_to_min_clean':
>> H5AC.c:(.text+0x15a2): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5AC.o):H5AC.c:(.text+0x177c): more 
>> undefined references to `MPI_Error_string' follow
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5Eint.o): In function 
>> `H5E_walk2_cb':
>> H5Eint.c:(.text+0xa52): undefined reference to `MPI_Initialized'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5Eint.o): In function 
>> `H5E_walk1_cb':
>> H5Eint.c:(.text+0xcc7): undefined reference to `MPI_Initialized'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpi.o): In function 
>> `H5FD_mpi_comm_info_free':
>> H5FDmpi.c:(.text+0x273): undefined reference to `MPI_Info_free'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpi.o): In function 
>> `H5FD_mpi_comm_info_dup':
>> H5FDmpi.c:(.text+0x337): undefined reference to `MPI_Info_dup'
>> H5FDmpi.c:(.text+0x3c8): undefined reference to `MPI_Info_free'
>> H5FDmpi.c:(.text+0x3ed): undefined reference to `MPI_Error_string'
>> H5FDmpi.c:(.text+0x460): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpio.o): In function 
>> `H5FD_get_mpio_atomicity':
>> H5FDmpio.c:(.text+0xf2): undefined reference to `MPI_File_get_atomicity'
>> H5FDmpio.c:(.text+0x12b): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpio.o): In function 
>> `H5FD_set_mpio_atomicity':
>> H5FDmpio.c:(.text+0x1c3): undefined reference to `MPI_File_set_atomicity'
>> H5FDmpio.c:(.text+0x1e1): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpio.o): In function 
>> `H5FD_mpio_truncate':
>> H5FDmpio.c:(.text+0x29c): undefined reference to `MPI_File_set_size'
>> H5FDmpio.c:(.text+0x2d3): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x35e): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpio.o): In function 
>> `H5FD_mpio_flush':
>> H5FDmpio.c:(.text+0x405): undefined reference to `MPI_File_sync'
>> H5FDmpio.c:(.text+0x41a): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpio.o): In function 
>> `H5FD_mpio_write':
>> H5FDmpio.c:(.text+0x541): undefined reference to `MPI_File_write_at'
>> H5FDmpio.c:(.text+0x55d): undefined reference to `MPI_Get_elements'
>> H5FDmpio.c:(.text+0x573): undefined reference to `MPI_Type_size'
>> H5FDmpio.c:(.text+0x63c): undefined reference to `MPI_File_set_view'
>> H5FDmpio.c:(.text+0x681): undefined reference to `MPI_File_write_at_all'
>> H5FDmpio.c:(.text+0x6a8): undefined reference to `MPI_File_set_view'
>> H5FDmpio.c:(.text+0x6c1): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x773): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x81c): undefined reference to `MPI_File_write_at'
>> H5FDmpio.c:(.text+0x835): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x8ad): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x920): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x9e7): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0xaae): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpio.o): In function 
>> `H5FD_mpio_read':
>> H5FDmpio.c:(.text+0xbc1): undefined reference to `MPI_File_read_at'
>> H5FDmpio.c:(.text+0xbdd): undefined reference to `MPI_Get_elements'
>> H5FDmpio.c:(.text+0xbf3): undefined reference to `MPI_Type_size'
>> H5FDmpio.c:(.text+0xd1d): undefined reference to `MPI_File_set_view'
>> H5FDmpio.c:(.text+0xd64): undefined reference to `MPI_File_read_at_all'
>> H5FDmpio.c:(.text+0xd8d): undefined reference to `MPI_File_set_view'
>> H5FDmpio.c:(.text+0xda6): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0xe47): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0xeca): undefined reference to `MPI_File_read_at'
>> H5FDmpio.c:(.text+0xee3): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0xf5d): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0xfd0): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x1097): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x115e): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpio.o): In function 
>> `H5FD_mpio_close':
>> H5FDmpio.c:(.text+0x11dd): undefined reference to `MPI_File_close'
>> H5FDmpio.c:(.text+0x120f): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpio.o): In function 
>> `H5FD_mpio_open':
>> H5FDmpio.c:(.text+0x1ecf): undefined reference to `MPI_File_open'
>> H5FDmpio.c:(.text+0x1ee8): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x1f82): undefined reference to `MPI_Info_free'
>> H5FDmpio.c:(.text+0x1fc3): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x203d): undefined reference to `MPI_File_close'
>> H5FDmpio.c:(.text+0x216d): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x2231): undefined reference to `MPI_File_get_size'
>> H5FDmpio.c:(.text+0x2253): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x22d9): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x2347): undefined reference to `MPI_File_set_size'
>> H5FDmpio.c:(.text+0x2360): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x2442): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpio.o): In function 
>> `H5Pget_fapl_mpio':
>> H5FDmpio.c:(.text+0x2909): undefined reference to `MPI_Info_dup'
>> H5FDmpio.c:(.text+0x29aa): undefined reference to `MPI_Error_string'
>> H5FDmpio.c:(.text+0x2a1d): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpiposix.o): In function 
>> `H5FD_mpiposix_truncate':
>> H5FDmpiposix.c:(.text+0x1f8): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpiposix.o): In function 
>> `H5FD_mpiposix_fapl_get':
>> H5FDmpiposix.c:(.text+0x9c3): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpiposix.o): In function 
>> `H5FD_mpiposix_fapl_copy':
>> H5FDmpiposix.c:(.text+0xac2): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5FDmpiposix.o):H5FDmpiposix.c:(.text+0xe29):
>>  more undefined references to `MPI_Error_string' follow
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5Smpio.o): In function 
>> `H5S_obtain_datatype':
>> H5Smpio.c:(.text+0x462): undefined reference to `MPI_Type_hindexed'
>> H5Smpio.c:(.text+0x47b): undefined reference to `MPI_Error_string'
>> H5Smpio.c:(.text+0x52a): undefined reference to `MPI_Error_string'
>> H5Smpio.c:(.text+0x59d): undefined reference to `MPI_Error_string'
>> H5Smpio.c:(.text+0x744): undefined reference to `MPI_Error_string'
>> H5Smpio.c:(.text+0x7b7): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5Smpio.o): In function 
>> `H5S_mpio_space_type':
>> H5Smpio.c:(.text+0xecd): undefined reference to `MPI_Type_extent'
>> H5Smpio.c:(.text+0x10a2): undefined reference to `MPI_Error_string'
>> H5Smpio.c:(.text+0x1128): undefined reference to `MPI_Error_string'
>> H5Smpio.c:(.text+0x1202): undefined reference to `MPI_Error_string'
>> H5Smpio.c:(.text+0x1275): undefined reference to `MPI_Error_string'
>> H5Smpio.c:(.text+0x1302): undefined reference to `MPI_Error_string'
>> /home/rseigel/hdf5-1.8.10/lib/libhdf5.a(H5Smpio.o):H5Smpio.c:(.text+0x13a7): 
>> more undefined references to `MPI_Error_string' follow
>> pgf90-Fatal-linker completed with exit code 1
>> 
>> make: *** [rams-6.0-opt] Error 2
>> 
>> 
>> 
>> ____________________________
>> Robert Seigel, Ph.D.
>> Colorado State University
>> Department of Atmospheric Science
>> 1371 Campus Delivery
>> Fort Collins, CO 80523
>> (970) 491-8331
>> [email protected]
>> 
>> 
>> 
>> _______________________________________________
>> Hdf-forum is for HDF software users discussion.
>> [email protected]
>> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
> 
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> [email protected]
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to