I'm attempting to compile OpenCV with Intel MKL 2017.0 on Ubuntu 16.04.1 with , but I keep running up against the following errors at compile time:
/opt/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64_lin/libmkl_sequential.so: undefined reference to `mkl_spblas_lp64_ccsr0ttluc__svout_seq' /opt/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64_lin/libmkl_intel_lp64.so: undefined reference to `mkl_lapack_zlantp' /opt/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64_lin/libmkl_sequential.so: undefined reference to `mkl_spblas_sdia1ttluf__mvout_par' /opt/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64_lin/libmkl_sequential.so: undefined reference to `mkl_spblas_lp64_ccsr1ntuuf__mvout_par' /opt/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64_lin/libmkl_sequential.so: undefined reference to `mkl_blas_xdgemv' /opt/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64_lin/libmkl_sequential.so: undefined reference to `mkl_spblas_ccsr1ntuuf__smout_par' /opt/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64_lin/libmkl_sequential.so: undefined reference to `mkl_sparse_d_csr_ng_n_spmmd_ker_i4' /opt/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64_lin/libmkl_sequential.so: undefined reference to `mkl_spblas_ccoo0nhluc__mvout_par' /opt/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64_lin/libmkl_sequential.so: undefined reference to `mkl_spblas_lp64_dcsr1ttluf__svout_seq' /opt/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64_lin/libmkl_intel_lp64.so: undefined reference to `mkl_lapack_dgelsd'
I have installed Intel MKL and I have the following in my zsh startup script:
source /opt/intel/mkl/bin/mklvars.sh intel64
I also have the following in /etc/ld.so.conf.d/intel_mkl.conf :
/opt/intel/lib/intel64 /opt/intel/mkl/lib/intel64
CMake manages to find MKL and reports:
-- Found MKL 2017.0.1 at: /opt/intel/mkl -- LAPACK(MKL): LAPACK_LIBRARIES: /opt/intel/mkl/lib/intel64/libmkl_core.so;/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so;/opt/intel/mkl/lib/intel64/libmkl_sequential.so;/opt/intel/mkl/lib/intel64/libmkl_core.so;/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so;/opt/intel/mkl/lib/intel64/libmkl_sequential.so;/opt/intel/mkl/lib/intel64/libmkl_core.so;/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so;/opt/intel/mkl/lib/intel64/libmkl_sequential.so;-lpthread;-lm;-ldl -- LAPACK(MKL): Support is enabled.
CMake also lists:
-- Use Intel VA-API/OpenCL: NO -- Use Lapack: YES (/opt/intel/mkl/lib/intel64/libmkl_core.so /opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so /opt/intel/mkl/lib/intel64/libmkl_sequential.so /opt/intel/mkl/lib/intel64/libmkl_core.so /opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so /opt/intel/mkl/lib/intel64/libmkl_sequential.so /opt/intel/mkl/lib/intel64/libmkl_core.so /opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so /opt/intel/mkl/lib/intel64/libmkl_sequential.so -lpthread -lm -ldl) -- Use Eigen: NO -- Use Cuda: YES (ver 8.0) -- Use OpenCL: YES
What am I missing? Are there any additional compile flags I should be specifying?
Thread Topic:
Question