Linking to Pytorch on Linux (CPU) fails - cannot find MKL

username: vdbg
cooked: <p>Hi All,</p>
<p>I encounter the following linker errors trying to link my app to libtorch 1.10.1 (Linux, CPU, C++):</p>
<pre><code class="lang-auto">libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_zd_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_d_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_dsbrdbn'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_zlaeh2'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_d_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_s_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_zd_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_trans_mkl_zimatcopy_square_t_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_sc_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_claeh2'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_slaeh2'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_d_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_dlaed2'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_c_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_zhbrdbn'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_dz_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_c_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_s_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_s_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_cs_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_trans_mkl_comatcopy2_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_dlaeh2'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_z_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_sc_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_cs_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_z_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_dlaed3'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_z_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_slaed3'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_trans_mkl_cimatcopy_square_t_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_z_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_c_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_ssbrdbn'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_trans_mkl_zomatcopy2_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_dz_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_s_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_forward_d_out_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_dft_compute_backward_c_par'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_chbrdbn'
libtorch/lib/libtorch_cpu.so: undefined reference to `mkl_lapack_slaed2'
</code></pre>
<p>I do list every single .so file in libtorch/lib in the g++ command. My app is not designed to be used with cmake, so not using it. Could build just fine against libtrorch 1.8.2, but failing with 1.10.1.</p>
<p>Would be grateful for any suggestions how to troubleshoot this.</p>

username: vdbg
cooked: <p>With libtorch 1.8.2 the following was sufficient: -D_GLIBCXX_USE_CXX11_ABI=1 -Llibtorch/lib -ltorch -ltorch_cpu -lc10. With 1.10.1 there are these undefined reference errors for MKL, even when linking all other .so libs.</p>

username: vdbg
cooked: <p>Issue <a href="https://github.com/pytorch/pytorch/issues/72653" rel="noopener nofollow ugc">https://github.com/pytorch/pytorch/issues/72653</a> solved.</p>