On 13/07/10 08:20, Elton Carvalho wrote:
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",
That seems like asking for trouble. Why not set the LIBS environment
variable properly before calling configure?
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.
You need to provide the support libraries in the right order. The MKL
docs for your platform should make the correct order clear.
Otherwise, since there's a nearly insignificant advantage to icc+mkl
over gcc+FFTW3, use the latter.
Mark
--
gmx-users mailing list [email protected]
http://lists.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at http://www.gromacs.org/search before posting!
Please don't post (un)subscribe requests to the list. Use the
www interface or send it to [email protected].
Can't post? Read http://www.gromacs.org/mailing_lists/users.php