Ubuntu 12.04上python matplotlib MKL致命错误

2 投票
1 回答
2328 浏览
提问于 2025-04-17 13:30

这是我的Python代码

1 import matplotlib.pyplot as plt                                                 
2 plt.plot([1, 2, 3, 4])                                                          
3 plt.ylabel('some numbers')                                                      
4 plt.show()                                                                      

当我运行这段代码时,出现了以下错误信息

$ python test.py 

*** libmkl_avx.so *** failed with error : /usr/local/enthought/lib/libmkl_avx.so: undefined symbol: i_free
*** libmkl_def.so *** failed with error : /usr/local/enthought/lib/libmkl_def.so: undefined symbol: i_free
MKL FATAL ERROR: Cannot load neither libmkl_avx.so nor libmkl_def.so

这是我的Python版本。

$ python --version
Python 2.7.2 -- EPD 7.2-2 (64-bit)

1 个回答

1

我知道这个问题已经有点老了,但我也遇到了同样的问题,找到了解决办法,而且不需要重新安装。所以给未来的读者分享一下我做的事情:

@root 在上面评论里提到了一个链接,指向了英特尔论坛。那里的一个回答建议预加载一些MKL库。(这个评论的日期是2009年10月20日 - 10:32,我不知道怎么链接到那条具体的评论)。

这个办法对我有效。不过,你需要找到你的libmkl_core.so和libmkl_sequential.so库存放在哪里。对我来说,它们的位置是:

export LD_PRELOAD=/usr/local/Canopy/v152/CanopyCore/appdata/canopy-1.5.2.2785.rh5-x86_64/lib/libmkl_sequential.so:/usr/local/Canopy/v152/CanopyCore/appdata/canopy-1.5.2.2785.rh5-x86_64/lib/libmkl_core.so

/usr/local/Canopy/v152/Canopy_64bit/User/lib/里也有副本,但这些版本好用。只有上面提到的那个有效。

希望这能帮助到将来的某个人!

撰写回答