[gmx-users] compiling error in tools

Justin A. Lemkul jalemkul at vt.edu
Tue Jan 25 14:40:10 CET 2011



Jennifer Williams wrote:
> 
> Hello
> 
> I know this is possibly an issue for the IT support at my Uni but I was 
> wondering if someone could shed some light on what may have gone wrong 
> so at least I can point them in the right direction.
> 
> As I am getting very small diffusion coefficients when using g_msd, I 
> want to increase the number of decimal points the diffusion coefficient 
> is displayed to.
> In the file gmx_msd.c within src/tools I changed
> 
>  fprintf(out,"# D[%10s] = %.4f (+/- %.4f) (1e-5 cm^2/s)\n",
> 
> to
> 
>  fprintf(out,"# D[%10s] = %.8f (+/- %.8f) (1e-5 cm^2/s)\n",
> 
> then, as I have always done, I just typed in make g_msd to recompile 
> this tool.
> I get the following error message:
> 
> src/tools> make g_msd
> mpicc -DHAVE_CONFIG_H -I. -I../../src  -I../../include 
> -DGMXLIBDIR=\"/home/jwillia4/GRO/share/top\" 
> -I/home/jwillia4/GRO/include  -O3 -fomit-frame-pointer 
> -finline-functions -Wall -Wno-unused -funroll-all-loops -MT g_msd.o -MD 
> -MP -MF .deps/g_msd.Tpo -c -o g_msd.o g_msd.c
> mv -f .deps/g_msd.Tpo .deps/g_msd.Po
> /bin/sh ../../libtool --tag=CC   --mode=link mpicc  -O3 
> -fomit-frame-pointer -finline-functions -Wall -Wno-unused 
> -funroll-all-loops  -L/home/jwillia4/GRO/lib  -lgslcblas  -o g_msd 
> g_msd.o libgmxana_mpi.la ../mdlib/libmd_mpi.la ../gmxlib/libgmx_mpi.la 
> -lgsl -lnsl -lfftw3f -lm
> mpicc -O3 -fomit-frame-pointer -finline-functions -Wall -Wno-unused 
> -funroll-all-loops -o g_msd g_msd.o  -L/home/jwillia4/GRO/lib 
> ./.libs/libgmxana_mpi.a 
> /home/jwillia4/GRO/gromacs-4.0.7/src/mdlib/.libs/libmd_mpi.a 
> ../mdlib/.libs/libmd_mpi.a 
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a 
> ../gmxlib/.libs/libgmx_mpi.a /home/jwillia4/GRO/lib/libgslcblas.so 
> /home/jwillia4/GRO/lib/libgsl.so -lnsl 
> /home/jwillia4/GRO/lib/libfftw3f.a -lm   -Wl,--rpath 
> -Wl,/home/jwillia4/GRO/lib -Wl,--rpath -Wl,/home/jwillia4/GRO/lib
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(main.o): 
> In function `init_par':
> main.c:(.text+0xc0): undefined reference to `ompi_mpi_comm_world'
> main.c:(.text+0xc8): undefined reference to `ompi_mpi_comm_world'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(main.o): 
> In function `init_multisystem':
> main.c:(.text+0xb99): undefined reference to `ompi_mpi_comm_world'
> main.c:(.text+0xbd9): undefined reference to `ompi_mpi_comm_world'
> main.c:(.text+0xbee): undefined reference to `ompi_mpi_comm_world'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o):network.c:(.text+0x15): 
> more undefined references to `ompi_mpi_comm_world' follow
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_sumi_sim':
> network.c:(.text+0x96): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0x9b): undefined reference to `ompi_mpi_int'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_sumf_sim':
> network.c:(.text+0x4e6): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0x4eb): undefined reference to `ompi_mpi_float'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_sumd_sim':
> network.c:(.text+0x9a6): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0x9ab): undefined reference to `ompi_mpi_double'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_sumi':
> network.c:(.text+0xe8f): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0xe94): undefined reference to `ompi_mpi_int'
> network.c:(.text+0xec0): undefined reference to `ompi_mpi_int'
> network.c:(.text+0xed7): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0xedc): undefined reference to `ompi_mpi_int'
> network.c:(.text+0x12fe): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0x1303): undefined reference to `ompi_mpi_int'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_sumf':
> network.c:(.text+0x134e): undefined reference to `ompi_mpi_float'
> network.c:(.text+0x1354): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0x1380): undefined reference to `ompi_mpi_float'
> network.c:(.text+0x1397): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0x139c): undefined reference to `ompi_mpi_float'
> network.c:(.text+0x183e): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0x1843): undefined reference to `ompi_mpi_float'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_sumd':
> network.c:(.text+0x1890): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0x1895): undefined reference to `ompi_mpi_double'
> network.c:(.text+0x18c2): undefined reference to `ompi_mpi_double'
> network.c:(.text+0x18d7): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0x18dc): undefined reference to `ompi_mpi_double'
> network.c:(.text+0x1d86): undefined reference to `ompi_mpi_op_sum'
> network.c:(.text+0x1d8b): undefined reference to `ompi_mpi_double'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_bcast_sim':
> network.c:(.text+0x1dbc): undefined reference to `ompi_mpi_byte'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_bcast':
> network.c:(.text+0x1ddc): undefined reference to `ompi_mpi_byte'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_abort':
> network.c:(.text+0x1e3c): undefined reference to `ompi_mpi_comm_world'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_node_num':
> network.c:(.text+0x1e85): undefined reference to `ompi_mpi_comm_world'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_node_rank':
> network.c:(.text+0x1ea5): undefined reference to `ompi_mpi_comm_world'
> /home/jwillia4/GRO/gromacs-4.0.7/src/gmxlib/.libs/libgmx_mpi.a(network.o): 
> In function `gmx_setup':
> network.c:(.text+0x2309): undefined reference to `ompi_mpi_comm_world'
> network.c:(.text+0x231b): undefined reference to `ompi_mpi_comm_world'
> collect2: ld returned 1 exit status
> make: *** [g_msd] Error 1
> 
> The compile seems to need some mpi files but shouldn't the tools compile 
> in serial rather than parallel? I have recompiled in tools before and 
> everything has worked previously. Any advice appreciated.
> 

Absolutely.  The only Gromacs tool that is MPI-aware is mdrun.  It looks like 
the Makefile that you generated to do this compilation was created with 
--enable-mpi.  Try again using a normal C compiler like gcc.

-Justin

> Thanks
> 
> 
> 
> 
> 

-- 
========================================

Justin A. Lemkul
Ph.D. Candidate
ICTAS Doctoral Scholar
MILES-IGERT Trainee
Department of Biochemistry
Virginia Tech
Blacksburg, VA
jalemkul[at]vt.edu | (540) 231-9080
http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin

========================================



More information about the gromacs.org_gmx-users mailing list