[lammps-users] Error during compiling MEAM package of LAMMPS

Hello, sir.

I have an error during installing MEAM package in LAMMPS.

At first I succeeded to install LAMMPS without meam package in my system.

Next, I tried to add meam package but it produced following error.

/usr/bin/ld: cannot find -lifcore

collect2: ld returned 1 exit status

make[1]: *** […/lmp_serial] error 1

make[1]: Leaving directory `/home/xenith/Desktop/lammps-20Feb10/src/Obj_serial’

make: *** [serial] error 2

I think this is caused by the mismatch of the library link so I changed the path in Makefile.serial.

meam_SYSPATH = -L/opt/intel/fce/10.0.023/lib

-> meam_SYSPATH = -L/opt/intel/Compiler/11.1/069/lib/intel64/

reax_SYSPATH = -L/opt/intel/fce/10.0.023/lib

-> reax_SYSPATH = -L/opt/intel/Compiler/11.1/069/lib/intel64/

It seems that the link path is correct but another error is appeared.

/usr/bin/ld: warning: libintlc.so.5, needed by /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5, not found (try using -rpath or -rpath-link)
…/…/lib/meam/libmeam.a(meam_setup_done.o): In function erose_': meam_setup_done.F:(.text+0x8e9): undefined reference to _gfortran_pow_r8_i4’
…/…/lib/meam/libmeam.a(meam_setup_done.o): In function get_zij_': meam_setup_done.F:(.text+0xa73): undefined reference to _gfortran_compare_string’
meam_setup_done.F:(.text+0xa9a): undefined reference to _gfortran_compare_string' meam_setup_done.F:(.text+0xac1): undefined reference to _gfortran_compare_string’
meam_setup_done.F:(.text+0xae8): undefined reference to _gfortran_compare_string' meam_setup_done.F:(.text+0xb0f): undefined reference to gfortran_compare_string’
…/…/lib/meam/libmeam.a(meam_setup_done.o):meam_setup_done.F:(.text+0xb33): more undefined references to _gfortran_compare_string' follow ../../lib/meam/libmeam.a(meam_setup_done.o): In function alloyparams
’:
meam_setup_done.F:(.text+0x111b): undefined reference to _gfortran_copy_string' meam_setup_done.F:(.text+0x1182): undefined reference to _gfortran_compare_string’
meam_setup_done.F:(.text+0x11e3): undefined reference to _gfortran_compare_string' meam_setup_done.F:(.text+0x1212): undefined reference to _gfortran_compare_string’
…/…/lib/meam/libmeam.a(meam_setup_done.o): In function get_densref_': meam_setup_done.F:(.text+0x168c): undefined reference to _gfortran_copy_string’
meam_setup_done.F:(.text+0x16f4): undefined reference to _gfortran_compare_string' meam_setup_done.F:(.text+0x1748): undefined reference to _gfortran_compare_string’
meam_setup_done.F:(.text+0x179c): undefined reference to _gfortran_compare_string' meam_setup_done.F:(.text+0x184b): undefined reference to _gfortran_compare_string’
meam_setup_done.F:(.text+0x18f3): undefined reference to _gfortran_compare_string' ../../lib/meam/libmeam.a(meam_setup_done.o):meam_setup_done.F:(.text+0x1a47): more undefined references to _gfortran_compare_string’ follow
…/…/lib/meam/libmeam.a(meam_setup_done.o): In function get_zij2_': meam_setup_done.F:(.text+0x20f8): undefined reference to _gfortran_pow_r8_i4’
…/…/lib/meam/libmeam.a(meam_setup_done.o): In function phi_meam_': meam_setup_done.F:(.text+0x21fc): undefined reference to _gfortran_compare_string’
meam_setup_done.F:(.text+0x23d7): undefined reference to _gfortran_compare_string' meam_setup_done.F:(.text+0x2409): undefined reference to _gfortran_copy_string’
meam_setup_done.F:(.text+0x2420): undefined reference to _gfortran_compare_string' meam_setup_done.F:(.text+0x2aaa): undefined reference to _gfortran_compare_string’
meam_setup_done.F:(.text+0x2adc): undefined reference to _gfortran_copy_string' meam_setup_done.F:(.text+0x2af3): undefined reference to gfortran_compare_string’
meam_setup_done.F:(.text+0x2bd5): undefined reference to _gfortran_compare_string' ../../lib/meam/libmeam.a(meam_setup_done.o): In function compute_pair_meam
’:
meam_setup_done.F:(.text+0x2d11): undefined reference to _gfortran_allocate64_array' meam_setup_done.F:(.text+0x2dab): undefined reference to _gfortran_allocate64_array’
meam_setup_done.F:(.text+0x2e45): undefined reference to _gfortran_allocate64_array' meam_setup_done.F:(.text+0x2edf): undefined reference to _gfortran_allocate64_array’
meam_setup_done.F:(.text+0x2f79): undefined reference to _gfortran_allocate64_array' ../../lib/meam/libmeam.a(meam_setup_done.o):meam_setup_done.F:(.text+0x3013): more undefined references to _gfortran_allocate64_array’ follow
…/…/lib/meam/libmeam.a(meam_setup_done.o): In function compute_pair_meam_': meam_setup_done.F:(.text+0x3363): undefined reference to _gfortran_compare_string’
meam_setup_done.F:(.text+0x358f): undefined reference to _gfortran_pow_r8_i4' meam_setup_done.F:(.text+0x35eb): undefined reference to _gfortran_pow_r8_i4’
…/…/lib/meam/libmeam.a(meam_setup_global.o): In function meam_setup_global_': meam_setup_global.F:(.text+0x65): undefined reference to _gfortran_copy_string’
meam_setup_global.F:(.text+0x8b): undefined reference to _gfortran_copy_string' meam_setup_global.F:(.text+0xae): undefined reference to _gfortran_copy_string’
meam_setup_global.F:(.text+0xd1): undefined reference to _gfortran_copy_string' meam_setup_global.F:(.text+0xf4): undefined reference to _gfortran_copy_string’
meam_setup_global.F:(.text+0x234): undefined reference to _gfortran_compare_string' meam_setup_global.F:(.text+0x26c): undefined reference to _gfortran_compare_string’
meam_setup_global.F:(.text+0x2ac): undefined reference to _gfortran_compare_string' meam_setup_global.F:(.text+0x2d9): undefined reference to gfortran_compare_string’
meam_setup_global.F:(.text+0x306): undefined reference to _gfortran_compare_string' ../../lib/meam/libmeam.a(meam_setup_param.o): In function meam_setup_param
’:
meam_setup_param.F:(.text+0xd3): undefined reference to _gfortran_copy_string' meam_setup_param.F:(.text+0x115): undefined reference to _gfortran_copy_string’
meam_setup_param.F:(.text+0x157): undefined reference to _gfortran_copy_string' meam_setup_param.F:(.text+0x19f): undefined reference to _gfortran_copy_string’
meam_setup_param.F:(.text+0x1e1): undefined reference to _gfortran_copy_string' ../../lib/meam/libmeam.a(meam_setup_param.o):meam_setup_param.F:(.text+0x223): more undefined references to _gfortran_copy_string’ follow
…/…/lib/meam/libmeam.a(meam_cleanup.o): In function meam_cleanup_': meam_cleanup.F:(.text+0x13): undefined reference to _gfortran_deallocate’
meam_cleanup.F:(.text+0x20): undefined reference to _gfortran_deallocate' meam_cleanup.F:(.text+0x2d): undefined reference to _gfortran_deallocate’
meam_cleanup.F:(.text+0x3a): undefined reference to _gfortran_deallocate' meam_cleanup.F:(.text+0x47): undefined reference to _gfortran_deallocate’
…/…/lib/meam/libmeam.a(meam_cleanup.o):meam_cleanup.F:(.text+0x54): more undefined references to _gfortran_deallocate' follow /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to a_divq’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to a_mulq' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __qtoj’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __negq' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __qtof’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to tbk_string_stack_signal' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to a_subq’
/opt/intel/Compiler/11.1/069/lib/intel64/libsvml.so: undefined reference to __intel_cpu_indicator_init' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to _intel_fast_memset’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to _intel_fast_memcpy' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __dtoq’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to a_geq' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __qtoi’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to a_csubq' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to a_leq’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __subq' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __intel_sse2_strlen’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __itoq' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __mulq’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __divq' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to a_caddq’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __eqq' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __compareq’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __qtod' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to _intel_fast_memcmp’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __gtq' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to a_addq’
/opt/intel/Compiler/11.1/069/lib/intel64/libsvml.so: undefined reference to __intel_cpu_indicator' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __jtoq’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __ltq' /opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to __addq’
/opt/intel/Compiler/11.1/069/lib/intel64/libifcore.so.5: undefined reference to a_cmulq' collect2: ld returned 1 exit status make[1]: *** [../lmp_serial] error 1 make[1]: Leaving directory /home/xenith/Desktop/lammps-20Feb10/src/Obj_serial’
make: *** [serial] error 2

How can I fix this?

Thank you in advance for your help.

Sincerely,

Jo

The MEAM lib in lib/meam is Fortran code. You have
to build it with a Fortran compiler. When you type
make yes-meam you are including a Fortran lib in a C++
code. The settings in Makefile.foo for the MEAM variables
are the hooks that tell C++ what Fortran libs to use to
make it work. If you are not consistent in using the
same Fortran and its libs for the 2 steps, it will not work.
You appear to be mixing gfortran and Intel Fortran which
will not work.

Steve

2010/3/2 조민호 <[email protected]...>: