AMBER: problem compiling amber9 on IBM 64 bit machine with xlf90_suse compiler

From: Hayden Eastwood <>
Date: Wed, 19 Sep 2007 15:24:34 +0100

Dear Amber guys

I am having problems compiling sander (amber9, both serial and parallel) on
a 64 bit IBM cluster with the xlf90_suse compiler. Typically, compillation
begins without problem, but crashes out with references such as those below:

a - ../obj/commandqmmm.o
a - ../obj/initmem2.o
a - ../obj/allocateMxAtomVarsqmmm.o
/bin/true libdivcon.a
mv libdivcon.a ../src/qmmm/
make[2]: Leaving directory `/home/b23/barran/bin/amber9/src/dcqtp/mod'
make[1]: Leaving directory `/home/b23/barran/bin/amber9/src/dcqtp'
xlf90 -qfree=f90 -o sander evb_vars.o evb_input.o evb_init.o evb_alloc.o
evb_dealloc.o check_input.o evb_io.o evb_keywrd.o exchange_CM.o evb_mcp.o
evb_force.o diabati
c.o evb_2stdebug.o egap_umb_2stdebug.o exchange_gauss.o exchange_warshel.o
morsify.o morse_anal2num.o evb_matrix.o evb_ntrfc.o out_evb.o constants.o
stack.o qmmm_module.o
 trace.o lmod.o decomp.o icosasurf.o egb.o findmask.o pb_force.o pb_exmol.o
pb_mpfrc.o pb_direct.o pb_list.o np_force.o sa_driver.o relax_mat.o nmr.o
multisander.o sander
.o trajene.o cshf.o nmrcal.o pearsn.o printe.o runmin.o rdparm.o mdread.o
locmem.o runmd.o getcor.o degcnt.o decnvh.o fastwt.o parallel.o shake.o
ene.o mdwrit.o minrit.o
set.o dynlib.o mdfil.o nmlsrc.o ew_force.o ew_setup.o ew_box.o ew_bspline.o
ew_fft.o nonbond_list.o short_ene.o ew_recip.o pcshift.o align.o rfree.o
rgroup.o random.o amo
pen.o debug.o ew_recip_reg.o ew_handle_dips.o ew_dipole_recip.o mexit.o
new_time.o extra_pts.o thermo_int.o matinv.o assert.o mmtsb.o mmtsb_client.o
erfcfun.o veclib.o is
_init.o constantph.o prn_dipoles.o ips.o sglds.o amoeba_valence.o
amoeba_multipoles.o amoeba_recip.o amoeba_interface.o amoeba_direct.o
amoeba_mdin.o amoeba_adjust.o amoe
ba_self.o amoeba_vdw.o amoeba_induced.o amoeba_runmd.o bintraj.o
spatial_recip.o spatial_fft.o parms.o qm_mm.o qm_link_atoms.o qm_nb_list.o
qm_extract_coords.o qm_ewald.
o qm_gb.o qm_zero_charges.o qm_print_info.o qm_assign_atom_types.o
qm2_allocate_e_repul.o qm2_calc_charges.o qm2_calc_rij_and_eqns.o
qm2_dihed.o qm2_energy.o qm2_fock.o q
m2_get_qm_forces.o qm2_get_qmmm_forces.o qm2_h1elec.o qm2_hcore_qmqm.o
qm2_hcore_qmmm.o qm2_identify_peptide_links.o qm2_load_params_and_allocate.o
qm2_repp.o qm2_rotate_
qmqm.o qm2_scf.o qm2_setup_orb_exp.o qm2_smallest_number.o qm2_dftb_module.o
qm2_dftb_broyden.o qm2_dftb_dispersion_egr.o qm2_dftb_dispersion_params.o
read.o qm2_dftb_eglcao.o qm2_dftb_energy.o qm2_dftb_ewevge.o
qm2_dftb_externalchgrad.o qm2_dftb_externalshift.o qm2_dftb_fermi.o
qm2_dftb_forces.o qm2_dftb_gamma.o qm2_df
tb_gammamat.o qm2_dftb_get_qmmm_forces.o qm2_dftb_gettab.o
qm2_dftb_load_params.o qm2_dftb_long_range.o qm2_dftb_main.o
qm2_dftb_my_gradient.o qm2_dftb_my_mulliken.o qm2_
dftb_repulsiv.o qm2_dftb_self.o qm2_dftb_shift.o qm2_dftb_short_range.o
qm2_dftb_skpar.o qm2_dftb_slkode.o qm2_dftb_slktrafo.o \
                 qm_div.o force.o \

        ../lmod/lmod.a ../dcqtp/src/qmmm/libdivcon.a \
        ../lapack/lapack.a ../blas/blas.a \
        ../lib/nxtsec.o ../lib/sys.a
evb_force.o(.text+0x560): In function `evb_force':
: undefined reference to `dsyev'
lmod.o(.text+0x848): In function `__lmod_driver_NMOD_run_xmin':
: undefined reference to `xmin'
lmod.o(.text+0x23f4): In function `__lmod_driver_NMOD_run_lmod':
: undefined reference to `lmod'
relax_mat.o(.text+0xfec): In function `__relax_mat_NMOD_remarc':
: undefined reference to `dspev'
sander.o(.text+0x1e14): In function `sander':
: undefined reference to `amflsh'
sander.o(.text+0x2f08): In function `sander':
: undefined reference to `amflsh'
sander.o(.text+0x39e8): In function `sander':

Etc etc etc (there are a lot more)


My questions are these:

1. It looks like the libraries aren't loading for this. I tried implementing
the idea suggested by DAC in an earlier post(see: "AMBER: Problem compiling
AMBER 9 on ppc64" - sept 4th). However, my blas library does not appear to
be in /usr/lib location. Indeed, I've used the "find" command within linux
and not found any library by that name (I did of course find the "blas"
folder within the amber9 directory). DACs suggestion of entering the
USE_BLASLIB=$(SOURCE_COMPILED) line into the config file didn't work. Is it
possible that the library doesn't exist?

2. With regards to the parallel compilation: I notice that the config.h file
tries to implement mpif90. However, the mpich2 distribution on this machine
does not have an mpif90 executable in the bin directory. There is however an
mpixlf90 executable and an mpif77, can I use either of these instead?

I attach with this e-mail config.h for both parallel and serial compiles.

Many thanks for any advice on the matter.



The AMBER Mail Reflector
To post, send mail to
To unsubscribe, send "unsubscribe amber" to

Received on Sun Sep 23 2007 - 06:07:11 PDT
Custom Search