Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue linking to MKL when compiling #509

Closed
Fractally opened this issue Jan 27, 2016 · 2 comments
Closed

Issue linking to MKL when compiling #509

Fractally opened this issue Jan 27, 2016 · 2 comments

Comments

@Fractally
Copy link

I am able to configure and generate mlpack using the cmake gui. ARMA_USE_WRAPPER is not defined, so I have to link to all dependencies manually. I am using MKL. CMake found three of the MKL libraries on its own:

mkl_core_LIBRARY = /opt/intel/mkl/lib/intel64/libmkl_core.so
mkl_intel_lp64_LIBRARY = /opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so
mkl_intel_thread_LIBRARY = /opt/intel/mkl/lib/intel64/libmkl_intel_thread.so

It does not find the following on its own:

mkl_LIBARY
mkl_lapack_LIBRARY

I assumed the following:

mkl_LIBRARY = /opt/intel/mkl/lib/intel64/libmkl_rt.so
mkl_lapack_LIBRARY = /opt/intel/mkl/lib/intel64/libmkl_lapack95_lp64.a

When reaching around 30% of compiling a large list of undefined references appear in my terminal. These look like:

/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so: undefined reference to mkl_lapack_zlaqgb
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so: undefined reference to mkl_lapack_zlaed8
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so: undefined reference to mkl_iss_dcsrilut

Could someone please confirm whether my assumptions for the required libraries are correct. Any tips for a solution would also be great.

Thanks!

@Fractally
Copy link
Author

This issue was unrelated to mlpack. The MKL lapack libraries should be linked to with libmkl_gf_lp64.so and not libmkl_lapack95_lp64. Closing issue.

@rcurtin
Copy link
Member

rcurtin commented Jan 27, 2016

Are you sure mlpack is unrelated? Ideally, you shouldn't have to specify anything at all, and the configuration scripts should pick up the MKL dependency correctly entirely (especially given that you have them installed to /opt/intel/mkl, which the configuration scripts will search).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants