|
|||||||||||||||||||||||||||||||||
AMBER Archive (2009)Subject: Re: Re: [AMBER] Not able to compile pmemd with openmpi in Amber9
From: Kito (kitobhai_at_rediffmail.com)
Thanks Jason,
When I changed MATH_DEFINES = -DMKL
to MATH_DEFINES =
it worked and I was able to link the object files.
But on checking library dependencies, I have problem with libguide.so (first line on the output below)
$> ldd pmemd
./pmemd: /usr/lib64/libguide.so: no version information available (required by ./pmemd)
libguide.so => /usr/lib64/libguide.so (0x00002b1a6e4ca000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000032fdc00000)
libimf.so => /usr/lib64/libimf.so (0x00002b1a6e607000)
libsvml.so => /usr/lib64/libsvml.so (0x00002b1a6e89f000)
libmpi_f90.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libmpi_f90.so.0 (0x00002b1a6e9e1000)
libmpi_f77.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libmpi_f77.so.0 (0x00002b1a6ebe4000)
libmpi.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libmpi.so.0 (0x00002b1a6ee1c000)
libopen-rte.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libopen-rte.so.0 (0x00002b1a6f0ec000)
libopen-pal.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libopen-pal.so.0 (0x00002b1a6f34c000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000032fd800000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003300400000)
libutil.so.1 => /lib64/libutil.so.1 (0x000000330a600000)
libm.so.6 => /lib64/libm.so.6 (0x00000032fd400000)
libc.so.6 => /lib64/libc.so.6 (0x00000032fd000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000000330ee00000)
/lib64/ld-linux-x86-64.so.2 (0x00000032fcc00000)
libirc.so => /usr/lib64/libirc.so (0x00002b1a6f5e8000)
libifport.so.5 => /opt/intel/Compiler/11.1/046/lib/intel64/libifport.so.5 (0x00002b1a6f71e000)
libifcoremt.so.5 => /opt/intel/Compiler/11.1/046/lib/intel64/libifcoremt.so.5 (0x00002b1a6f857000)
libintlc.so.5 => /opt/intel/Compiler/11.1/046/lib/intel64/libintlc.so.5 (0x00002b1a6fafb000)
Thanks again
Kito
On Wed, 25 Nov 2009 12:34:22 +0530 wrote
>This appears to be an MKL issue. What version of MKL are you using? It
would appear like the MKL libraries you're linking to no longer contain
vd___MATHFUNCTION__ functions/subroutines anymore, so you have to find which
library is missing and link to that one as well. You can try adding
-lmkl_intel_lp64 -lmkl_core and/or -lmkl_sequential to the MATH_LIBS line.
I believe those are the only three libraries that pmemd will need, but this
is for Intel MKL 10 or 11. For older MKL versions, the config file you have
above should work...
I just now tried compiling pmemd9 with the ifort11 compiler and MKL 11. It
failed with the default config.h file (slightly different errors than yours,
but still MKL-related). Adding the three above -lmkl... statements above to
MATH_LIBS fixed the problems.
Again, though, this is dependent on the version of MKL that you're using.
Good luck, and I'd be interested to hear any success/failure (along with
which MKL you have installed :) )
All the best,
Jason
On Wed, Nov 25, 2009 at 1:39 AM, Kito wrote:
> Hi Amber Experts/Users,
>
>
>
> I am having difficulties with pmemd installation
>
> My h/w and s/w configuration is
>
> Linux Enterprise, OpenMPI, AMD x86_64, Intel Compiliers
>
>
>
> My config.h file is
>
>
>
> MATH_DEFINES =
>
> MATH_LIBS =
>
> IFORT_RPATH = /opt/gridengine/lib/lx26-amd64:/usr/lib/perl5/5.8.8
>
> MATH_DEFINES = -DMKL
>
> MATH_LIBS = -L$(MKL_HOME)/lib/em64t -lguide -lpthread
>
> FFT_DEFINES = -DPUBFFT
>
> FFT_INCLUDE =
>
> FFT_LIBS =
>
> NETCDF_HOME =
>
> NETCDF_DEFINES =
>
> NETCDF_MOD =
>
> NETCDF_LIBS =
>
> MPI_HOME = /opt/mpi/openmpi/1.3.3/intel/
>
> MPI_DEFINES = -DMPI -DSLOW_NONBLOCKING_MPI
>
> MPI_INCLUDE = -I$(MPI_HOME)/include
>
> MPI_LIBDIR = $(MPI_HOME)/lib
>
> MPI_LIBS = -L$(MPI_LIBDIR)
>
> DIRFRC_DEFINES = -DDIRFRC_EFS -DDIRFRC_COMTRANS -DDIRFRC_NOVEC
>
> CPP = /lib/cpp
>
> CPPFLAGS = -traditional -P
>
> F90_DEFINES = -DFFTLOADBAL_2PROC
>
> F90 = mpif90
>
> MODULE_SUFFIX = mod
>
> F90FLAGS = -c
>
> F90_OPT_DBG = -g -traceback
>
> F90_OPT_LO = -O0
>
> F90_OPT_MED = -O2
>
> F90_OPT_HI = -axWPT -ip -O3
>
> F90_OPT_DFLT = $(F90_OPT_HI)
>
> CC = mpicc
>
> CFLAGS =
>
> LOAD = mpif90
>
> LOADFLAGS =
>
> LOADLIBS = -limf -lsvml -Wl,-rpath=$(IFORT_RPATH)
>
>
>
> The error I get is
>
>
>
> mpif90 -o pmemd gbl_constants.o gbl_datatypes.o state_info.o file_io_dat.o
> parallel_dat.o mdin_ctrl_dat.o mdin_ewald_dat.o prmtop_dat.o inpcrd_dat.o
> dynamics_dat.o img.o parallel.o pme_direct.o pme_recip.o pme_fft.o fft1d.o
> bspline.o pme_force.o pbc.o nb_pairlist.o cit.o dynamics.o bonds.o angles.o
> dihedrals.o runmd.o loadbal.o shake.o runmin.o constraints.o axis_optimize.o
> gb_ene.o veclib.o gb_force.o timers.o pmemd_lib.o runfiles.o file_io.o
> bintraj.o pmemd_clib.o pmemd.o random.o degcnt.o erfcfun.o nmr_calls.o
> nmr_lib.o get_cmdline.o master_setup.o alltasks_setup.o pme_setup.o
> ene_frc_splines.o nextprmtop_section.o
> -L/opt/intel/Compiler/11.1/046/mkl//lib/em64t -lguide -lpthread
> -L/opt/mpi/openmpi/1.3.3/intel//lib -limf -lsvml
> -Wl,-rpath=/opt/gridengine/lib/lx26-amd64:/usr/lib/perl5/5.8.8
>
> gb_ene.o: In function `gb_ene_mod_mp_gb_ene_':
>
> gb_ene.f90:(.text+0x19de): undefined reference to `vdinvsqrt_'
>
> gb_ene.f90:(.text+0x1c93): undefined reference to `vdinv_'
>
> gb_ene.f90:(.text+0x1cac): undefined reference to `vdinv_'
>
> gb_ene.f90:(.text+0x1fde): undefined reference to `vdln_'
>
> gb_ene.f90:(.text+0x1ff7): undefined reference to `vdln_'
>
> gb_ene.f90:(.text+0x3b98): undefined reference to `vdinv_'
>
> gb_ene.f90:(.text+0x3dd9): undefined reference to `vdexp_'
>
> gb_ene.f90:(.text+0x4254): undefined reference to `vdinvsqrt_'
>
> gb_ene.f90:(.text+0x4289): undefined reference to `vdinv_'
>
> gb_ene.f90:(.text+0x43df): undefined reference to `vdexp_'
>
> gb_ene.f90:(.text+0x43fc): undefined reference to `vdinvsqrt_'
>
> gb_ene.f90:(.text+0x5403): undefined reference to `vdinvsqrt_'
>
> gb_ene.f90:(.text+0x55b1): undefined reference to `vdinv_'
>
> gb_ene.f90:(.text+0x55ca): undefined reference to `vdinv_'
>
> gb_ene.f90:(.text+0x57b2): undefined reference to `vdln_'
>
> gb_ene.o: In function `gb_ene_mod_mp_calc_born_radii_':
>
> gb_ene.f90:(.text+0x678a): undefined reference to `vdinvsqrt_'
>
> gb_ene.f90:(.text+0x6a3f): undefined reference to `vdinv_'
>
> gb_ene.f90:(.text+0x6a58): undefined reference to `vdinv_'
>
> gb_ene.f90:(.text+0x6d8a): undefined reference to `vdln_'
>
> gb_ene.f90:(.text+0x6da3): undefined reference to `vdln_'
>
> make[1]: *** [pmemd] Error 1
>
> make[1]: Leaving directory `/opt/apps/amber/9/intel-mkl/src/pmemd/src'
>
> make: *** [all] Error 2
>
>
>
> Please help... I have gone through the archives and got similar problems
> but their said solution's doesnt seems to help.
>
>
>
> Thanks in advance
>
> Kito
> _______________________________________________
> AMBER mailing list
> http://lists.ambermd.org/mailman/listinfo/amber
>
--
| |||||||||||||||||||||||||||||||||
|