Hi Sébastien, > However, MKL is non-free software, and in particular its source code is not > publicly available. By using MKL as the default BLAS/LAPACK implementation, > you might be violating the licensing terms of copyleft software that would > become dynamically linked against it. Please verify that the licensing terms > of the program(s) that you intend to use with MKL are compatible with the MKL > licensing terms. For the case of software under the GNU General Public > License, you may want to read this FAQ: > https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs
Thank you for the debconf patch. Applied. > My assumption has been that, if someone links with -lblas, then he is > only > asking for the BLAS ABI and not more. If someone wants to link > against symbols > specific to ATLAS/OpenBLAS, then he should link against -latlas/- > lopenblas. > > So, for consistency, I think it is ok to register MKL as providing > libblas.so/liblapack.so. Both libblas.so and liblapack.so are provided by libmkl-dev now [1]. Note that the cblas.h slave points to mkl_cblas.h instead of mkl.h, such that problematic usage won't success. This is working. > > Using LD_LIBRARY_PATH is indeed the easiest way to switch between > BLAS > implementations on a per-user basis (since each one of them has a > specific > subdir under /usr/lib/${DEB_HOST_MULTIARCH}/). So the same should > probably be > done for MKL. Four symbol links are installed to usr/lib/${DEB_HOST_MULTIARCH}/mkl/ directory, see [2][3]. Using ld.so environt variable to switch blas/lapack is documented in README.Debian [4]. By the way, the document should be enough to convey important usages and information, just like what the table of content shows Table of Contents -- User Part -- (*) How to install these MKL Debian packages? (*) How do I link against MKL? (*) Environment variables for MKL (*) MKL performance tips from maintainer (*) Switching BLAS/LAPACK by environment variable and alternatives mechanism (*) Building your custom library from MKL with selected symbols (*) Where is MKL documentation and examples? (*) Upstream's XXX is missing, where is it? -- Debian Developer Part -- (*) How do I understand the upstream MKL source directory structure? (*) How to get the upstream source tarball? (*) What? MKL is redistributable? I just overhauled the package. The core file control.py was polished so that it is easy to read and modify. Checked all the upstream files for copyright. It's time to RFS :-) [1] https://salsa.debian.org/science-team/intel-mkl/blob/master/debian/libmkl-dev.postinst.in [2] https://salsa.debian.org/science-team/intel-mkl/blob/master/debian/libmkl-rt.links [3] https://salsa.debian.org/science-team/intel-mkl/blob/master/debian/libmkl-dev.links [4] https://salsa.debian.org/science-team/intel-mkl/raw/master/debian/README.Debian