AMBER Archive (2008)

Subject: Re: AMBER: PMEND 9 compilation problems

From: Nick Holway (nick.holway_at_gmail.com)
Date: Wed Jul 30 2008 - 08:50:42 CDT


Hi,

Thanks for the response.

Altering the MATH_LIBS line allowed it to compile. However when I try to run
pmemd from the command line I get the following message:

forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
pmemd 000000000045AA08 Unknown Unknown Unknown
pmemd 000000000042B173 Unknown Unknown Unknown
pmemd 0000000000451C6B Unknown Unknown Unknown
pmemd 000000000047884E Unknown Unknown Unknown
pmemd 000000000049A15B Unknown Unknown Unknown
pmemd 0000000000406BC2 Unknown Unknown Unknown
libc.so.6 0000003C46E1D8A4 Unknown Unknown Unknown
pmemd 0000000000406AE9 Unknown Unknown Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
pmemd 000000000045AA08 Unknown Unknown Unknown
pmemd 000000000042B173 Unknown Unknown Unknown
pmemd 0000000000451C6B Unknown Unknown Unknown
pmemd 0000000000478EFC Unknown Unknown Unknown
pmemd 0000000000499A53 Unknown Unknown Unknown
pmemd 0000000000406BC2 Unknown Unknown Unknown
libc.so.6 0000003C46E1D8A4 Unknown Unknown Unknown
pmemd 0000000000406AE9 Unknown Unknown Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
pmemd 000000000045AA08 Unknown Unknown Unknown
pmemd 000000000042B173 Unknown Unknown Unknown
pmemd 0000000000451C6B Unknown Unknown Unknown
pmemd 000000000047884E Unknown Unknown Unknown
pmemd 000000000049A15B Unknown Unknown Unknown
pmemd 0000000000406BC2 Unknown Unknown Unknown
libc.so.6 0000003C46E1D8A4 Unknown Unknown Unknown
pmemd 0000000000406AE9 Unknown Unknown Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
pmemd 000000000045AA08 Unknown Unknown Unknown
pmemd 000000000042B173 Unknown Unknown Unknown
pmemd 0000000000451C6B Unknown Unknown Unknown
pmemd 000000000047884E Unknown Unknown Unknown
pmemd 000000000049A15B Unknown Unknown Unknown
pmemd 0000000000406BC2 Unknown Unknown Unknown
libc.so.6 0000003C46E1D8A4 Unknown Unknown Unknown
pmemd 0000000000406AE9 Unknown Unknown Unknown
rank 3 in job 1 blade-1-9.local_50878 caused collective abort of all ranks
  exit status of rank 3: return code 174
rank 1 in job 1 blade-1-9.local_50878 caused collective abort of all ranks
  exit status of rank 1: return code 174

I tried downloading the latest version of ifort and MKL and also compiled
pmemd without MKL but see the same message.

Googling the error message brings up this post (
http://structbio.vanderbilt.edu/archives/amber-archive/2006/3253.php) which
suggests that this kind of error is caused by ifort is this likely to be the
case for me too?

Thanks

Nick
2008/7/29 Robert Duke <rduke_at_email.unc.edu>

> 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
>

-----------------------------------------------------------------------
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