[gmx-users] mpi problem during installation

Mark Abraham Mark.Abraham at anu.edu.au
Thu May 28 03:44:30 CEST 2009


Itamar Kass wrote:
> HI all,
> 
> I am trying to compile GROMACS 4.0.5 on my mac (10.5) using
> './configure --enable-mpi --disable-float --with-fft=no && make -j2 &&
> make install'. I installed on the system lam 7.0.6 './configure &&
> make && make install'.
> 
> The error message I get is:
> 
> mpicc -O3 -fomit-frame-pointer -finline-functions -Wall -Wno-unused
> -funroll-all-loops -std=gnu99 -framework Accelerate -o grompp grompp.o
>  ./.libs/libgmxpreprocess_mpi_d.a -L/usr/X11/lib
> ../mdlib/.libs/libmd_mpi_d.a
> /Users/ikass/Downloads/gromacs-4.0.5/src/gmxlib/.libs/libgmx_mpi_d.a
> ../gmxlib/.libs/libgmx_mpi_d.a /usr/lib/libxml2.dylib -lpthread -lz
> -licucore -lm /usr/X11/lib/libSM.6.0.0.dylib
> /usr/X11/lib/libICE.6.3.0.dylib /usr/X11/lib/libX11.6.2.0.dylib
> /usr/X11/lib/libXau.6.0.0.dylib /usr/X11/lib/libXdmcp.6.0.0.dylib
> Undefined symbols:
>   "_lam_mpi_sum", referenced from:
>       _lam_mpi_sum$non_lazy_ptr in libgmx_mpi_d.a(network.o)
>       _lam_mpi_sum$non_lazy_ptr in libmd_mpi_d.a(domdec.o)
>       _lam_mpi_sum$non_lazy_ptr in libmd_mpi_d.a(gmx_wallcycle.o)
>       _lam_mpi_sum$non_lazy_ptr in libmd_mpi_d.a(pme.o)
>   "_lam_mpi_comm_world", referenced from:
>       _lam_mpi_comm_world$non_lazy_ptr in libgmx_mpi_d.a(network.o)
>       _lam_mpi_comm_world$non_lazy_ptr in libgmx_mpi_d.a(main.o)
>   "_lam_mpi_float", referenced from:
>       _lam_mpi_float$non_lazy_ptr in libgmx_mpi_d.a(network.o)
>   "_lam_mpi_double", referenced from:
>       _lam_mpi_double$non_lazy_ptr in libgmx_mpi_d.a(network.o)
>       _lam_mpi_double$non_lazy_ptr in libmd_mpi_d.a(partdec.o)
>       _lam_mpi_double$non_lazy_ptr in libmd_mpi_d.a(gmx_wallcycle.o)
>       _lam_mpi_double$non_lazy_ptr in libmd_mpi_d.a(pme.o)
>       _lam_mpi_double$non_lazy_ptr in libmd_mpi_d.a(gmx_parallel_3dfft.o)
>   "_lam_mpi_byte", referenced from:
>       _lam_mpi_byte$non_lazy_ptr in libgmx_mpi_d.a(network.o)
>       _lam_mpi_byte$non_lazy_ptr in libmd_mpi_d.a(partdec.o)
>       _lam_mpi_byte$non_lazy_ptr in libmd_mpi_d.a(domdec.o)
>       _lam_mpi_byte$non_lazy_ptr in libmd_mpi_d.a(domdec_network.o)
>       _lam_mpi_byte$non_lazy_ptr in libmd_mpi_d.a(pme_pp.o)
>       _lam_mpi_byte$non_lazy_ptr in libmd_mpi_d.a(sim_util.o)
>       _lam_mpi_byte$non_lazy_ptr in libmd_mpi_d.a(pme.o)
>       _lam_mpi_byte$non_lazy_ptr in libmd_mpi_d.a(stat.o)
>   "_lam_mpi_int", referenced from:
>       _lam_mpi_int$non_lazy_ptr in libgmx_mpi_d.a(network.o)
>       _lam_mpi_int$non_lazy_ptr in libmd_mpi_d.a(domdec.o)
>       _lam_mpi_int$non_lazy_ptr in libmd_mpi_d.a(pme.o)

mpicc tends to be a wrapper script that calls another compiler with the 
right libraries to compile MPI code for your system. If you had another 
MPI library installed, then things might get confused. Try "mpicc -h" or 
something to get some diagnostic information. You might try to invoke 
its verbose mode, or to get it to report what libraries it's trying to link.

Mark



More information about the gromacs.org_gmx-users mailing list