Hi,

Your problem seems to be known to Intel but is no real fix at the moment, just a workaround.
Full description here: https://software.intel.com/en-us/articles/symbol-lookup-error-when-linking-intel-mkl-with-gcc-on-ubuntu

The solution is to add the —no-as-needed linker flag.

In ALPS you can customize the MKL linking throughout the MKL environment variable.
Before the cmake configuration set the following:
export MKL="-L$MKLROOT/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -lm"


Best regards,
Michele

--
ETH Zurich
Michele Dolfi
Institute for Theoretical Physics
HIT G 32.4
Wolfgang-Pauli-Str. 27
8093 Zurich
Switzerland


+41 44 633 78 56 phone
+41 44 633 11 15 fax 





On Apr 16, 2014, at 9:47 AM, Yi-Ping Huang <Yiping.Huang@Colorado.EDU> wrote:

Dear ALPS users/developers,

After ccmake, I am trying to make the ALPS 2.2b1. The process ends at

Linking CXX executable jacobidavidson2
/opt/intel/composer_xe_2013_sp1.2.144/mkl/lib/intel64/libmkl_core.so: undefined reference to `pthread_mutex_trylock'
collect2: error: ld returned 1 exit status
make[2]: *** [example/ietl/jacobidavidson2] Error 1
make[1]: *** [example/ietl/CMakeFiles/jacobidavidson2.dir/all] Error 2
make: *** [all] Error 2

Is it because some incompatibility of mkl library and Ubuntu's library? or I made some mistake when I generate the make file. I got stuck by this problem for days, any suggestion is welcome.
Thanks.

Best,
Yi-Ping

My cmake configuration is like:
-- Compiler version: c++ (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1
-- Build type: Release
-- Python interpreter /usr/bin/python
-- Python interpreter ok : version 2.7.3
-- PYTHON_INCLUDE_DIRS =  /usr/include/python2.7
-- PYTHON_NUMPY_INCLUDE_DIR = /usr/lib/python2.7/dist-packages/numpy/core/include
-- PYTHON_SITE_PKG = /usr/lib/python2.7/dist-packages
-- PYTHON_LIBRARY = /usr/lib/python2.7/config/libpython2.7.so
-- PYTHON_EXTRA_LIBS =-lssl -lcrypto  -lssl -lcrypto      -L/usr/lib -lz -lpthread -ldl  -lutil
-- PYTHON_LINK_FOR_SHARED =  -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
-- ALPS version: 2.2.b1
-- Looking for precompiled Boost libraries (version >= 1.48)
-- Adding Boost dir: /usr/include
-- MPI compiler was /usr/bin/mpicxx
-- LAPACK DEBUG::Compiler id GNU
-- LAPACK DEBUG::Compiler version
-- LAPACK DEBUG::Processor x86_64
-- LAPACK DEBUG::ENV{MKL}
-- LAPACK DEBUG::ENV{MKLROOT} /opt/intel/composer_xe_2013_sp1.2.144/mkl
-- LAPACK DEBUG::ENV{MKL_HOME}
-- LAPACK DEBUG::MKL_VERSION (raw) 1.2.144
-- LAPACK DEBUG::MKL_VERSION 10.3.1
-- Found intel/mkl library
-- LAPACK DEBUG::LAPACK_LIBRARY = -L/opt/intel/composer_xe_2013_sp1.2.144/mkl/lib/intel64;-lmkl_intel_lp64;-lmkl_sequential;-lmkl_core;-lpthread;-lm
-- SQLite Library: not found
-- LPSolve Library: not found
-- HDF5: /usr/include debug;/usr/lib/libhdf5_hl.so;/usr/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libm.so;optimized;/usr/lib/libhdf5_hl.so;/usr/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libm.so HDF5_DLL-NOTFOUND;HDF5_HL_DLL-NOTFOUND
-- Python interpreter /usr/bin/python
-- Python interpreter ok : version 2.7.3
-- PYTHON_INCLUDE_DIRS =  /usr/include/python2.7
-- PYTHON_NUMPY_INCLUDE_DIR = /usr/lib/python2.7/dist-packages/numpy/core/include
-- PYTHON_SITE_PKG = /usr/lib/python2.7/dist-packages
-- PYTHON_LIBRARY = /usr/lib/python2.7/config/libpython2.7.so
-- PYTHON_EXTRA_LIBS =-lssl -lcrypto  -lssl -lcrypto      -L/usr/lib -lz -lpthread -ldl  -lutil
-- PYTHON_LINK_FOR_SHARED =  -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
-- Numpy include in /usr/lib/python2.7/dist-packages/numpy/core/include
-- ALPS XML dir is /home/yi-ping/ALPS/ALPS2.2/lib/xml
-- HDF5: /usr/include debug;/usr/lib/libhdf5_hl.so;/usr/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libm.so;optimized;/usr/lib/libhdf5_hl.so;/usr/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libm.so HDF5_DLL-NOTFOUND;HDF5_HL_DLL-NOTFOUND;HDF5_DLL-NOTFOUND;HDF5_HL_DLL-NOTFOUND
-- HDF5: /usr/include debug;/usr/lib/libhdf5_hl.so;/usr/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libm.so;optimized;/usr/lib/libhdf5_hl.so;/usr/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libm.so HDF5_DLL-NOTFOUND;HDF5_HL_DLL-NOTFOUND;HDF5_DLL-NOTFOUND;HDF5_HL_DLL-NOTFOUND
-- tebd will not be built
-- HDF5: /usr/include debug;/usr/lib/libhdf5_hl.so;/usr/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libm.so;optimized;/usr/lib/libhdf5_hl.so;/usr/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libm.so HDF5_DLL-NOTFOUND;HDF5_HL_DLL-NOTFOUND;HDF5_DLL-NOTFOUND;HDF5_HL_DLL-NOTFOUND
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yi-ping/ALPS/ALPS2.2/alps-2.2.b1-r7195-src-with-boost/build