Dear all, I am trying to install Dalton quantum chemistry program with OpenMPI over PelicanHPC, but it ends with an error. PelicanHPC comes with both LAM and OpenMPI preinstalled. The version of OpenMPI is "OMPI_VERSION "1.2.7rc2"" (from version.h). The wrappers that I use are mpif77.openmpi and mpicc.openmpicc. Bellow, you can see the "link" and "include" of the wrappers:
++++++++++++++++++++++++++++++++++++++ pelican:/# mpicc.openmpi -show gcc -I/usr/lib/openmpi/include/openmpi -I/usr/lib/openmpi/include -pthread -L/usr/lib/openmpi/lib -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl pelican:/# mpif77.openmpi -show gfortran -I/usr/lib/openmpi/include -pthread -L/usr/lib/openmpi/lib -lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl pelican:/# mpif77.openmpi -v Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-cld --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.3.2 (Debian 4.3.2-1.1) +++++++++++++++++++++++++++++++++++++ The Makefile.conf of Dalton is: ++++++++++++++++++++++++++++++++++++++ ARCH = linux # # CPPFLAGS = -DVAR_G77 -DSYS_LINUX -DVAR_MFDS -DVAR_SPLITFILES -D'INSTALL_WRKMEM=60000000' -D'INSTALL_BASDIR="/root/Fig/dalton-2.0/basis/"' -DVAR_MPI -DIMPLICIT_NONE F77 = mpif77.openmpi CC = mpicc.openmpi RM = rm -f FFLAGS = -march=x86-64 -O3 -ffast-math -fexpensive-optimizations -funroll-loops -fno-range-check -fsecond-underscore SAFEFFLAGS = -march=x86-64 -O3 -ffast-math -fexpensive-optimizations -funroll-loops -fno-range-check -fsecond-underscore CFLAGS = -march=x86-64 -O3 -ffast-math -fexpensive-optimizations -funroll-loops -std=c99 -DRESTRICT=restrict INCLUDES = -I../include LIBS = -L/usr/lib -llapack -lblas INSTALLDIR = /root/Fig/dalton-2.0/bin PDPACK_EXTRAS = linpack.o eispack.o GP_EXTRAS = AR = ar ARFLAGS = rvs # flags for ftnchek on Dalton /hjaaj CHEKFLAGS = -nopure -nopretty -nocommon -nousage -noarray -notruncation -quiet -noargumants -arguments=number -usage=var-unitialized # -usage=var-unitialized:arg-const-modified:arg-alias # -usage=var-unitialized:var-set-unused:arg-unused:arg-const-modified:arg-alias # default : linuxparallel.x # # Parallel initialization # MPI_INCLUDE_DIR = -I/usr/lib/openmpi/include MPI_LIB_PATH = -L/usr/lib/openmpi/lib MPI_LIB = -lmpi # # # Suffix rules # hjaaj Oct 04: .g is a "cheat" suffix, for debugging. # 'make x.g' will create x.o from x.F or x.c with -g debug flag set. # ..SUFFIXES : .F .o .c .i .g ..F.o: $(F77) $(INCLUDES) $(CPPFLAGS) $(FFLAGS) -c $*.F ..F.g: $(F77) $(INCLUDES) $(CPPFLAGS) $(FFLAGS) -g -c $*.F ..c.o: $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c $*.c ..c.g: $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -g -c $*.c ..F.i: $(F77) $(INCLUDES) $(CPPFLAGS) -E $*.F > $*.i ++++++++++++++++++++++++++++++++++++ "make" command gives me the error: +++++++++++++++++++++++++++++++++++++++ ---------------> Linking sequential dalton.x ... mpif77.openmpi -march=x86-64 -O3 -ffast-math -fexpensive-optimizations -funroll-loops -fno-range-check -fsecond-underscore \ -o /root/Fig/dalton-2.0/bin/dalton.x abacus/dalton.o cc/crayio.o abacus/linux_mem_allo.o \ abacus/herpar.o eri/eri2par.o amfi/amfi.o amfi/symtra..o gp/mpi_dummy.o -Labacus -labacus -Lrsp -lrsp -Lsirius -lsirius -labacus -Leri -leri -Ldensfit -ldensfit -Lcc -lcc -Ldft -ldft -Lgp -lgp -Lpdpack -lpdpack -L/usr/lib -llapack -lblas dft/libdft.a(general.o): In function `mpi_sync_data': general.c:(.text+0x78): undefined reference to `ompi_mpi_comm_world' general.c:(.text+0xc3): undefined reference to `ompi_mpi_comm_world' general.c:(.text+0xdc): undefined reference to `ompi_mpi_comm_world' general.c:(.text+0xff): undefined reference to `ompi_mpi_comm_world' general.c:(.text+0x122): undefined reference to `ompi_mpi_comm_world' dft/libdft.a(general.o):general.c:(.text+0x136): more undefined references to `ompi_mpi_comm_world' follow dft/libdft.a(general.o): In function `dft_cslave__': general.c:(.text+0x44e): undefined reference to `ompi_mpi_int' dft/libdft.a(general.o): In function `dft_wake_slaves': general.c:(.text+0x485): undefined reference to `ompi_mpi_comm_world' general.c:(.text+0x4e7): undefined reference to `ompi_mpi_comm_world' general.c:(.text+0x4ee): undefined reference to `ompi_mpi_int' general.c:(.text+0x507): undefined reference to `ompi_mpi_comm_world' general.c:(.text+0x50e): undefined reference to `ompi_mpi_int' general.c:(.text+0x528): undefined reference to `ompi_mpi_comm_world' general.c:(.text+0x52f): undefined reference to `ompi_mpi_int' dft/libdft.a(general.o): In function `dftfuncsync_': general.c:(.text+0x13d1): undefined reference to `ompi_mpi_comm_world' general.c:(.text+0x13d6): undefined reference to `ompi_mpi_int' general.c:(.text+0x140c): undefined reference to `ompi_mpi_comm_world' general.c:(.text+0x1411): undefined reference to `ompi_mpi_char' dft/libdft.a(grid-gen.o): In function `grid_generate': grid-gen.c:(.text+0x6bc1): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x6bc6): undefined reference to `ompi_mpi_int' grid-gen.c:(.text+0x6c00): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x6c10): undefined reference to `ompi_mpi_int' grid-gen.c:(.text+0x6c2d): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x6c38): undefined reference to `ompi_mpi_double' grid-gen.c:(.text+0x6c5c): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x6c67): undefined reference to `ompi_mpi_double' grid-gen.c:(.text+0x6c8a): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x6c95): undefined reference to `ompi_mpi_double' grid-gen.c:(.text+0x6cbb): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x6cc6): undefined reference to `ompi_mpi_int' dft/libdft.a(grid-gen.o): In function `grid_open': grid-gen.c:(.text+0x7c7d): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x7c8c): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x7cfe): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x7d03): undefined reference to `ompi_mpi_double' grid-gen.c:(.text+0x7d26): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x7d2d): undefined reference to `ompi_mpi_int' grid-gen.c:(.text+0x7f71): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x7f7e): undefined reference to `ompi_mpi_int' grid-gen.c:(.text+0x8001): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x83cc): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x83d7): undefined reference to `ompi_mpi_int' grid-gen.c:(.text+0x8410): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x841b): undefined reference to `ompi_mpi_int' grid-gen.c:(.text+0x8449): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x8454): undefined reference to `ompi_mpi_double' grid-gen.c:(.text+0x847c): undefined reference to `ompi_mpi_double' grid-gen.c:(.text+0x848d): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x84af): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x84ba): undefined reference to `ompi_mpi_double' grid-gen.c:(.text+0x84df): undefined reference to `ompi_mpi_comm_world' grid-gen.c:(.text+0x84ea): undefined reference to `ompi_mpi_int' dft/libdft.a(prop-eval.o): In function `dft_lin_respf__': prop-eval.c:(.text+0x3e6c): undefined reference to `ompi_mpi_comm_world' prop-eval.c:(.text+0x3e71): undefined reference to `ompi_mpi_int' prop-eval.c:(.text+0x41c1): undefined reference to `ompi_mpi_op_sum' prop-eval.c:(.text+0x41c6): undefined reference to `ompi_mpi_double' prop-eval.c:(.text+0x41ce): undefined reference to `ompi_mpi_comm_world' prop-eval.c:(.text+0x45f7): undefined reference to `ompi_mpi_op_sum' prop-eval.c:(.text+0x45fc): undefined reference to `ompi_mpi_double' prop-eval.c:(.text+0x460a): undefined reference to `ompi_mpi_comm_world' dft/libdft.a(prop-eval.o): In function `dft_lin_respab__': prop-eval.c:(.text+0x9ebb): undefined reference to `ompi_mpi_int' prop-eval.c:(.text+0x9ec1): undefined reference to `ompi_mpi_comm_world' dft/libdft.a(prop-eval.o): In function `dft_lin_resp_': prop-eval.c:(.text+0xa882): undefined reference to `ompi_mpi_comm_world' prop-eval.c:(.text+0xa887): undefined reference to `ompi_mpi_int' dft/libdft.a(prop-eval.o):(.data+0x10): undefined reference to `ompi_mpi_double' dft/libdft.a(prop-eval.o):(.data+0x28): undefined reference to `ompi_mpi_double' dft/libdft.a(prop-eval.o):(.data+0x40): undefined reference to `ompi_mpi_int' dft/libdft.a(prop-eval.o):(.data+0x58): undefined reference to `ompi_mpi_int' dft/libdft.a(quad-fast.o): In function `dftqrcf_': quad-fast.c:(.text+0x354): undefined reference to `ompi_mpi_op_sum' quad-fast.c:(.text+0x359): undefined reference to `ompi_mpi_double' quad-fast.c:(.text+0x364): undefined reference to `ompi_mpi_comm_world' dft/libdft.a(quad-fast.o):(.data+0x10): undefined reference to `ompi_mpi_double' dft/libdft.a(quad-fast.o):(.data+0x28): undefined reference to `ompi_mpi_double' dft/libdft.a(quad-fast.o):(.data+0x40): undefined reference to `ompi_mpi_double' dft/libdft.a(quad-fast.o):(.data+0x58): undefined reference to `ompi_mpi_int' dft/libdft.a(quad-fast.o):(.data+0x70): undefined reference to `ompi_mpi_int' dft/libdft.a(quad-fast.o):(.data+0x88): undefined reference to `ompi_mpi_int' dft/libdft.a(quad-fast.o):(.data+0xa0): undefined reference to `ompi_mpi_int' dft/libdft.a(quad-fast.o):(.data+0xb8): undefined reference to `ompi_mpi_int' dft/libdft.a(quad-fast.o):(.rodata+0x30): more undefined references to `ompi_mpi_int' follow /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_group' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_view' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_sync' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_amode' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Pack_external' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_iwrite_at' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Status_set_elements' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_status_ignore' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Add_error_class' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_type_extent' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_delete' /usr/lib/libmpi_f77.so: undefined reference to `MPI_FORTRAN_BOTTOM' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_all_begin' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_at_all_end' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_bottom' /usr/lib/libmpi_f77.so: undefined reference to `ompi_fortran_argv_f2c' /usr/lib/libmpi_f77.so: undefined reference to `ompi_mpi_param_check' /usr/lib/libmpi_f77.so: undefined reference to `MPI_FORTRAN_IN_PLACE' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_ordered' /usr/lib/libmpi_f77.so: undefined reference to `ompi_request_null' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_set_errhandler' /usr/lib/libmpi_f77.so: undefined reference to `ompi_attr_get_fortran_mpi2' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_statuses_ignore' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_all_begin' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_ordered_begin' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Pack_external_size' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_bottom_' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_set_atomicity' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_iwrite' /usr/lib/libmpi_f77.so: undefined reference to `ompi_errhandler_invoke' /usr/lib/libmpi_f77.so: undefined reference to `ompi_fortran_string_f2c' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_all_end' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_seek' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_at_all_begin' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_at_all_begin' /usr/lib/libmpi_f77.so: undefined reference to `MPI_FORTRAN_ARGV_NULL' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_at_all' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_atomicity' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_ordered_end' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_open' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Win_unlock' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_in_place' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_status_ignore_' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_all' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_ordered_begin' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_statuses_ignore_' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Type_create_indexed_block' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Grequest_complete' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Unpack_external' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_errcodes_ignore' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_in_place_' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_c2f' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_iwrite_shared' /usr/lib/libmpi_f77.so: undefined reference to `ompi_attr_get_fortran_mpi1' /usr/lib/libmpi_f77.so: undefined reference to `ompi_attr_set_fortran_mpi2' /usr/lib/libmpi_f77.so: undefined reference to `ompi_mpi_finalized' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_at' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_ordered' /usr/lib/libmpi_f77.so: undefined reference to `MPI_FORTRAN_STATUS_IGNORE' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Win_test' /usr/lib/libmpi_f77.so: undefined reference to `ompi_fortran_multiple_argvs_f2c' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_errhandler' /usr/lib/libmpi_f77.so: undefined reference to `ompi_errcode_intern_lastused' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_f2c' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_iread_at' /usr/lib/libmpi_f77.so: undefined reference to `ompi_mpi_initialized' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_iread' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_create_errhandler' /usr/lib/libmpi_f77.so: undefined reference to `ompi_mpi_file_null' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_set_info' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_shared' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_argv_null_' /usr/lib/libmpi_f77.so: undefined reference to `ompi_attr_create_keyval' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_at_all' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_preallocate' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_iread_shared' /usr/lib/libmpi_f77.so: undefined reference to `MPI_FORTRAN_ERRCODES_IGNORE' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_close' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Register_datarep' /usr/lib/libmpi_f77.so: undefined reference to `MPI_FORTRAN_STATUSES_IGNORE' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_at' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_set_size' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_errcodes_ignore_' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Type_create_f90_real' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_shared' /usr/lib/libmpi_f77.so: undefined reference to `ompi_attr_set_fortran_mpi1' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_ordered_end' /usr/lib/libmpi_f77.so: undefined reference to `ompi_mpi_datatype_null' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_info' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_set_view' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Win_lock' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Request_get_status' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_argv_null' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_read_all_end' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_call_errhandler' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Add_error_string' /usr/lib/libmpi_f77.so: undefined reference to `ompi_errcodes_intern' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_position' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_size' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_all' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_byte_offset' /usr/lib/libmpi_f77.so: undefined reference to `ompi_ddt_match_size' /usr/lib/libmpi_f77.so: undefined reference to `MPI_FORTRAN_ARGVS_NULL' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Comm_call_errhandler' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_argvs_null' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_get_position_shared' /usr/lib/libmpi_f77.so: undefined reference to `ompi_mpi_errors_are_fatal_comm_handler' /usr/lib/libmpi_f77.so: undefined reference to `ompi_fortran_string_c2f' /usr/lib/libmpi_f77.so: undefined reference to `MPI_File_write_at_all_end' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Type_create_f90_integer' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Type_create_f90_complex' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Status_set_cancelled' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Win_call_errhandler' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Add_error_code' /usr/lib/libmpi_f77.so: undefined reference to `mpi_fortran_argvs_null_' /usr/lib/libmpi_f77.so: undefined reference to `MPI_Grequest_start' collect2: ld returned 1 exit status make: *** [linux.x] Error 1 pelican:~/Fig/dalton-2.0# +++++++++++++++++++++++++++++++++++ I think that there is some sort of mixing LAM with OpenMPI libraries. I don't know what am I doing wrong. Thank you