[lammps-users] Problem making LAMMPS using intel_mkl

Hi Friends,
I am trying to make LAMMPS on a 128 node cluster operating on RED HAT ENTERPRISE EDITION 5.3 using Intel Math Kernel Libraries.However I am getting errors when I try to make Lammps. Please help me sort out this.

My make file is as follows:

intel_mkl = Intel Cluster Tools with MKL library for FFTs and MPI

SHELL = /bin/sh

System-specific settings

CC = mpiicc
CCFLAGS = -O3 -fno-alias -ip -unroll0 -g -DMPICH_IGNORE_CXX_SEEK -DLAMMPS_GZIP -DFFT_FFTW -I/opt/intel/mkl/10.2.0.013/include/fftw
DEPFLAGS = -M
LINK = mpiicc
LINKFLAGS = -mt_mpi -L/opt/intel/mkl/10.2.0.013/lib/em64t
USRLIB = /opt/intel/mkl/10.2.0.013/lib/64/libfftw2xc_intel.a
SYSLIB = -lstdc++ -lpthread -lmkl_em64t -lguide
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size

Link target

(EXE): (OBJ)
(LINK) (LINKFLAGS) (OBJ) (USRLIB) (SYSLIB) -o (EXE)
(SIZE) (EXE)

Library target

lib: (OBJ) (ARCHIVE) (ARFLAGS) (EXE) $(OBJ)

Compilation rules

.o:.cpp
(CC) (CCFLAGS) -c < %.d:%.cpp (CC) (CCFLAGS) (DEPFLAGS) < > @

Individual dependencies

DEPENDS = (OBJ:.o=.d) include (DEPENDS)

The Errors I get are:
mpiicc -mt_mpi -L /opt/intel/mkl/10.2.0.013/lib/em64t -I /opt/intel/mkl/10.2.0.013/include/fftw/lib angle_cg_cmm.o angle_charmm.o angle_class2.o angle_cosine.o angle_cosine_delta.o angle_cosine_squared.o angle.o angle_harmonic.o angle_hybrid.o angle_table.o atom.o atom_vec_angle.o atom_vec_atomic.o atom_vec_bond.o atom_vec_charge.o atom_vec.o atom_vec_dipole.o atom_vec_dpd.o atom_vec_ellipsoid.o atom_vec_full.o atom_vec_granular.o atom_vec_hybrid.o atom_vec_molecular.o atom_vec_peri.o body23joint.o body.o bond_class2.o bond.o bond_fene.o bond_fene_expand.o bond_harmonic.o bond_hybrid.o bond_morse.o bond_nonlinear.o bond_quartic.o bond_table.o cg_cmm_parms.o change_box.o colmatmap.o colmatrix.o comm.o compute_ackland_atom.o compute_centro_atom.o compute_cna_atom.o compute_coord_atom.o compute.o compute_damage_atom.o compute_displace_atom.o compute_erotate_asphere.o compute_erotate_sphere.o compute_event_displace.o compute_group_group.o compute_heat_flux.o compute_ke_atom.o compute_ke.o compute_pe_atom.o compute_pe.o compute_pressure.o compute_reduce.o compute_reduce_region.o compute_stress_atom.o compute_temp_asphere.o compute_temp_com.o compute_temp.o compute_temp_deform.o compute_temp_partial.o compute_temp_profile.o compute_temp_ramp.o compute_temp_region.o compute_temp_sphere.o create_atoms.o create_box.o delete_atoms.o delete_bonds.o dihedral_charmm.o dihedral_class2.o dihedral.o dihedral_harmonic.o dihedral_helix.o dihedral_hybrid.o dihedral_multi_harmonic.o dihedral_opls.o displace_atoms.o displace_box.o domain.o dump_atom.o dump_bond.o dump_cfg.o dump.o dump_custom.o dump_dcd.o dump_xtc.o dump_xyz.o error.o eulerparameters.o ewald.o ewald_n.o fastmatrixops.o fft3d.o fft3d_wrap.o finish.o fix_add_force.o fix_atc.o fix_ave_atom.o fix_ave_force.o fix_ave_spatial.o fix_ave_time.o fix_bond_break.o fix_bond_create.o fix_bond_swap.o fix_box_relax.o fix_com.o fix_coord_original.o fix.o fix_deform.o fix_deposit.o fix_drag.o fix_dt_reset.o fixedpoint.o fix_efield.o fix_enforce2d.o fix_evaporate.o fix_event.o fix_freeze.o fix_gravity.o fix_gyration.o fix_heat.o fix_indent.o fix_langevin.o fix_line_force.o fix_minimize.o fix_momentum.o fix_msd.o fix_nph.o fix_npt_asphere.o fix_npt.o fix_npt_sphere.o fix_nve_asphere.o fix_nve.o fix_nve_limit.o fix_nve_noforce.o fix_nve_sphere.o fix_nvt_asphere.o fix_nvt.o fix_nvt_sllod.o fix_nvt_sphere.o fix_orient_fcc.o fix_peri_neigh.o fix_plane_force.o fix_poems.o fix_pour.o fix_press_berendsen.o fix_print.o fix_rdf.o fix_reax_bonds.o fix_recenter.o fix_respa.o fix_rigid.o fix_set_force.o fix_shake.o fix_shear_history.o fix_smd.o fix_spring.o fix_spring_rg.o fix_spring_self.o fix_temp_berendsen.o fix_temp_rescale.o fix_thermal_conductivity.o fix_tmd.o fix_ttm.o fix_viscosity.o fix_viscous.o fix_wall_gran.o fix_wall_lj126.o fix_wall_lj93.o fix_wall_reflect.o fix_wiggle.o force.o freebodyjoint.o group.o improper_class2.o improper.o improper_cvff.o improper_harmonic.o improper_hybrid.o inertialframe.o input.o integrate.o joint.o kspace.o lammps.o lattice.o library.o main.o mat3x3.o mat4x4.o mat6x6.o matrix.o matrixfun.o memory.o min_cg.o min.o min_hftn.o minimize.o min_linesearch.o min_sd.o mixedjoint.o modify.o neigh_bond.o neighbor.o neigh_derive.o neigh_full.o neigh_gran.o neigh_half_bin.o neigh_half_multi.o neigh_half_nsq.o neigh_list.o neigh_request.o neigh_respa.o neigh_stencil.o norm.o onbody.o onfunctions.o onsolver.o output.o pack.o pair_airebo.o pair_born_coul_long.o pair_buck_coul.o pair_buck_coul_cut.o pair_buck_coul_long.o pair_buck.o pair_cg_cmm_coul_cut.o pair_cg_cmm_coul_long.o pair_cg_cmm.o pair_cmm_common.o pair_colloid.o pair_coul_cut.o pair_coul_debye.o pair_coul_long.o pair.o pair_dipole_cut.o pair_dpd.o pair_eam_alloy.o pair_eam_alloy_opt.o pair_eam.o pair_eam_fs.o pair_eam_fs_opt.o pair_eam_opt.o pair_gayberne.o pair_gran_hertz_history.o pair_gran_hooke.o pair_gran_hooke_history.o pair_hybrid.o pair_hybrid_overlay.o pair_lj96_cut.o pair_lj_charmm_coul_charmm.o pair_lj_charmm_coul_charmm_implicit.o pair_lj_charmm_coul_long.o pair_lj_charmm_coul_long_opt.o pair_lj_class2_coul_cut.o pair_lj_class2_coul_long.o pair_lj_class2.o pair_lj_coul.o pair_lj_cut_coul_cut.o pair_lj_cut_coul_debye.o pair_lj_cut_coul_long.o pair_lj_cut_coul_long_tip4p.o pair_lj_cut.o pair_lj_cut_opt.o pair_lj_expand.o pair_lj_gromacs_coul_gromacs.o pair_lj_gromacs.o pair_lj_smooth.o pair_lubricate.o pair_meam.o pair_morse.o pair_morse_opt.o pair_peri_pmb.o pair_reax.o pair_resquared.o pair_soft.o pair_sw.o pair_table.o pair_tersoff.o pair_tersoff_zbl.o pair_yukawa.o particle.o poemsobject.o poemstreenode.o point.o pppm.o pppm_tip4p.o prd.o prismaticjoint.o random_mars.o random_park.o read_data.o read_restart.o region_block.o region_cone.o region.o region_cylinder.o region_intersect.o region_prism.o region_sphere.o region_union.o remap.o remap_wrap.o replicate.o respa.o revolutejoint.o rigidbody.o rowmatrix.o run.o set.o shell.o solver.o special.o sphericaljoint.o system.o temper.o thermo.o timer.o universe.o update.o variable.o vect3.o vect4.o vect6.o velocity.o verlet.o virtualcolmatrix.o virtualmatrix.o virtualrowmatrix.o workspace.o write_restart.o xdr_compat.o /opt/intel/mkl/10.2.0.013/lib/em64t/libfftw2xc_intel.a -lstdc++ -lpthread -lmkl_em64t -lguid -o …/lmp_intel_mkl
ld: cannot find -lmkl_em64t
make[1]: *** […/lmp_intel_mkl] Error 1
make[1]: Leaving directory `/home/pankaj/lammps-7Jul09/src/Obj_intel_mkl’
make: *** [intel_mkl] Error 2

Regards,
Nandu Gopan

ld: cannot find -lmkl_em64t

I think the error is pretty clear. You either don't have
this file, or you haven't told the linker what directory
to find it in, via a -L switch in the Makefile.mkl.

The file should have the name libmkl_em64t.a

Steve