| AMBER Archive (2008)Subject: Re: AMBER: PMEND 9 compilation problems
From: Robert Duke (rduke_at_email.unc.edu)Date: Tue Jul 29 2008 - 12:41:54 CDT
 
 
 
 
Hi Nick,
Two possible approaches here:
 1) Simply don't use MKL (choose no math library in running pmemd configure).
 This is okay unless you want to do generalized Born simulations (the MKL
 helps for GB, but really does not matter much for anything else in pmemd).
 
 2) Okay, if you really want the MKL for whatever reason, the problem is 
effectively differences in the library structure with the latest releases of
 the MKL (post-pmemd 9).  You might try instead the static config I now ship
 with pmemd 10 for the MKL and the opteron (well, I have tested it on em64t).
 In the pmemd configure script, there is now the section:
 if [ $platform = linux_p3_athlon -o \
 $platform = linux_p4 ]; then
 cat << EOD >> config.h
 MATH_LIBS =
 $MKL_HOME/lib/32/libmkl_ia32.a -L$MKL_HOME/lib/32 -lguide -lpthread
 EOD
 elif [ $platform = linux64_opteron -o \
 $platform = linux_em64t ]; then
 cat << EOD >> config.h
 MATH_LIBS =
 $MKL_HOME/lib/em64t/libmkl_em64t.a -L$MKL_HOME/lib/em64t -lguide -lpthread
 EOD
 elif [ $platform = sgi_altix ]; then
 cat << EOD >> config.h
 MATH_LIBS =
 $MKL_HOME/lib/64/libmkl_ipf.a -L$MKL_HOME/lib/64 -lguide -lpthread -ldl
 EOD
 else
 echo "PMEMD Configuration Internal Error!"
 echo "Unexpected platform type while configuring Intel MKL!"
 echo "PMEMD Configuration Failed!"
 exit 1
 fi
 fi
 fi
 So if you look at the section where platform = linux64_opteron, take the
 MATH_LIBS = statement, substitute in your value for $MKL_HOME, and plug that
 into your config.h in place of the current MATH_LIBS = statement, it will
 hopefully work.  Tracking changes in the MKL has not been a lot of fun; hope
 this works without too much grief.
 
 Best Regards - Bob Duke
 ----- Original Message ----- 
From: Nick Holway
 To: amber_at_scripps.edu
 Sent: Tuesday, July 29, 2008 12:04 PM
 Subject: AMBER: PMEND 9 compilation problems
 
 Hi,
 I'm trying to compile PMEND 9 on 64 bit Rocks 5.0 (ie Centos 5.1) on the 
head node which is a HP BL265c blade with an Opteron 2214 CPU. I'm using the
 Intel ifort fortran v10 compiler with MKL 9.1. GCC is 4.1.2.
 The error I'm seeing is:
 ifort -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/usr/prog/fortran/intel/mkl/9.1//lib/em64t -lmkl_em64t
 -lpthread -limf -lsvml -Wl,-rpath=/usr/prog/jdk/jdk1.5.0_07/jre/lib/i386/server:/usr/prog/sge/gridengine/lib/lx26-amd64:/opt/gridengine/lib/lx26-amd64:/opt/gridengine/lib/lx26-amd64:/usr/prog/fortran/intel/x86_64/lib:/usr/prog/fortran/intel/mkl/9.1/lib/em64t:/usr/prog/eclipse/rac/lib:/usr/prog/openbabel/2.0.2/lib:/usr/prog/tripos/EAInventor_v4.3_Linux/lib
 gb_ene.o: In function `gb_ene_mod_mp_calc_born_radii_':
 gb_ene.f90:(.text+0x31f): undefined reference to `vdinvsqrt_'
 gb_ene.f90:(.text+0x6bf): undefined reference to `vdinv_'
 gb_ene.f90:(.text+0x6dc): undefined reference to `vdinv_'
 gb_ene.f90:(.text+0xb21): undefined reference to `vdln_'
 gb_ene.f90:(.text+0xb3e): undefined reference to `vdln_'
 gb_ene.o: In function `gb_ene_mod_mp_gb_ene_':
 gb_ene.f90:(.text+0x2758): undefined reference to `vdinvsqrt_'
 gb_ene.f90:(.text+0x2b12): undefined reference to `vdinv_'
 gb_ene.f90:(.text+0x2b2f): undefined reference to `vdinv_'
 gb_ene.f90:(.text+0x2f8c): undefined reference to `vdln_'
 gb_ene.f90:(.text+0x2fa9): undefined reference to `vdln_'
 gb_ene.f90:(.text+0x4d5f): undefined reference to `vdinv_'
 gb_ene.f90:(.text+0x4fe0): undefined reference to `vdexp_'
 gb_ene.f90:(.text+0x539c): undefined reference to `vdinvsqrt_'
 gb_ene.f90:(.text+0x53ce): undefined reference to `vdinv_'
 gb_ene.f90:(.text+0x5531): undefined reference to `vdexp_'
 gb_ene.f90:(.text+0x554b): undefined reference to `vdinvsqrt_'
 gb_ene.f90:(.text+0x6229): undefined reference to `vdinvsqrt_'
 gb_ene.f90:(.text+0x645d): undefined reference to `vdinv_'
 gb_ene.f90:(.text+0x6476): undefined reference to `vdinv_'
 gb_ene.f90:(.text+0x66a2): undefined reference to `vdln_'
 make[1]: *** [pmemd] Error 1
 make[1]: Leaving directory `/tmp/nick/amber9/src/pmemd/src'
 make: *** [all] Error 2
 
 This is my config.h:
 MATH_DEFINES =
MATH_LIBS =
 IFORT_RPATH =
 /usr/prog/jdk/jdk1.5.0_07/jre/lib/i386/server:/usr/prog/sge/gridengine/lib/lx26-amd64:/opt/gridengine/lib/lx26-amd64:/opt/gridengine/lib/lx26-amd64:/usr/prog/fortran/intel/x86_64/lib:/usr/prog/fortran/intel/mkl/9.1/lib/em64t:/usr/prog/eclipse/rac/lib:/usr/prog/openbabel/2.0.2/lib:/usr/prog/tripos/EAInventor_v4.3_Linux/lib
 MATH_DEFINES = -DMKL
 MATH_LIBS
 = -L/usr/prog/fortran/intel/mkl/9.1//lib/em64t -lmkl_em64t -lpthread
 FFT_DEFINES = -DPUBFFT
 FFT_INCLUDE =
 FFT_LIBS =
 NETCDF_HOME =
 NETCDF_DEFINES =
 NETCDF_MOD =
 NETCDF_LIBS =
 MPI_DEFINES =
 MPI_INCLUDE =
 MPI_LIBDIR =
 MPI_LIBS =
 DIRFRC_DEFINES = -DDIRFRC_EFS -DDIRFRC_COMTRANS -DDIRFRC_NOVEC
 CPP = /lib/cpp
 CPPFLAGS = -traditional -P
 F90_DEFINES = -DFFTLOADBAL_2PROC
 
 F90 = ifort
MODULE_SUFFIX = mod
 F90FLAGS = -c -auto
 F90_OPT_DBG = -g -traceback
 F90_OPT_LO = -tpp7 -O0
 F90_OPT_MED = -tpp7 -O2
 F90_OPT_HI = -tpp7 -xW -ip -O3
 F90_OPT_DFLT = $(F90_OPT_HI)
 
 CC = gcc
CFLAGS =
 
 LOAD = ifort
LOADFLAGS =
 LOADLIBS = -limf -lsvml -Wl,-rpath=$(IFORT_RPATH)
 
 Thanks in advance for any help.
Nick
 
 -----------------------------------------------------------------------
The AMBER Mail Reflector
 To post, send mail to amber_at_scripps.edu
 To unsubscribe, send "unsubscribe amber" (in the *body* of the email)
 to majordomo_at_scripps.edu
 
 
 
 |