[gmx-users] Compile-time errors with MKL

Elton Carvalho eltonfc at if.usp.br
Tue Jul 13 00:20:10 CEST 2010


Hello there!


I'm trying to compile gromacs 4.0.7 with icc, mkl and openmpi.

The problem is that, when I set the environment to

LDFLAGS=-L/home/opt/intel/cmkl/10.2.5.035/lib/em64t/ -L/usr/lib
CPPFLAGS=-I/home/opt/intel/cmkl/10.2.5.035/include/

and edit line 26576 of ./config to read
LIBS="-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core $LIBS"
instead of
LIBS="-lmkl $LIBS",

I get the following errors in config.log:

===== START =====

configure:26570: checking for DftiComputeForward in -lmkl
configure:26614: cc -o conftest  -O3 -fomit-frame-pointer
-finline-functions -Wall -Wno-unused -funroll-all-loops
-I/home/opt/intel/cmkl/10.2.5.035/include/
-L/home/opt/intel/cmkl/10.2.5.035/lib/em64t/ -L/usr/lib  conftest.c
-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lm  >&5
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/ld:
skipping incompatible /usr/lib/libm.so when searching for -lm
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/ld:
skipping incompatible /usr/lib/libm.a when searching for -lm
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/ld:
skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/ld:
skipping incompatible /usr/lib/libc.a when searching for -lc
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_ok_to_fork'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_end_single'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_ordered'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_for_static_init_8'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `omp_get_thread_num'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_barrier'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `omp_get_num_threads'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `omp_get_num_procs'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_dispatch_next_4'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_end_reduce_nowait'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_critical'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_dispatch_fini_8'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_serialized_parallel'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_end_critical'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_dispatch_init_8'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `ompc_set_nested'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `omp_get_nested'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_dispatch_fini_4'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `omp_in_parallel'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_push_num_threads'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_reduce_nowait'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `omp_get_max_threads'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_for_static_init_4'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_end_serialized_parallel'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_flush'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_single'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_dispatch_next_8'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_dispatch_init_4'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_global_thread_num'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_end_ordered'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_fork_call'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_atomic_fixed8_add'
/home/opt/intel/cmkl/10.2.5.035/lib/em64t//libmkl_intel_thread.so:
undefined reference to `__kmpc_for_static_fini'
collect2: ld returned 1 exit status

===== END =====

All other setups of CPPFLAGS and LDFLAGS, also with -lmkl in
./configure give "mkl not found" sort of errors. This one seems to be
the setup that got most far.

Any ideas to solve this? I have mkl versions 11.1/072 and 10.2.5.035.
Linking to each of them gives similar errors.

Thanks in advance
-- 
Elton Carvalho
Tel.: +55 11 3091-6985/6922
Dept Física dos Materiais e Mecânica
Instituto de Física
Universidade de São Paulo
P.O. Box 66318 - 05314-970 São Paulo-SP, Brazil



More information about the gromacs.org_gmx-users mailing list