liblapack.so.3: undefined symbol: gotoblas错误及解决办法

在深度学习算法开发过程中我们可能需要用我们可能需要用到openblas库, 由于caffe安装过程中的配置选项为: BLAS := atlas, 电脑里面同时安装有atlas和openblas (libatlas.so, libopenblas.so)

在编译过程中Makefile文件指定外部链接库文件liblapack.so.3 -> /etc/alternatives/liblapack.so.3链接到这里的, 如果人工指定的libblas.so文件和liblapack.so库文件不一致, 例如libblas.so文件属于libopenblas目录下, liblapack.so文件属于libatlas.so目录下, 则可能出错, 错误提示如下:

出现liblapack.so.3: undefined symbol: gotoblas错误.

 

解决办法:

首先查看系统默认配置的是使用哪个库:

sudo update-alternatives --config libblas.so.3

选择atlas下的libblas.so.3

同理, 选择liblaplapack.so.3库:

update-alternatives --config liblapack.so.3

 

也选atlas下的库文件

这样就不会出错了. 需要注意的是Makefile指定的链接库文件需要指向/etc/alternatives目录下的库文件才能奏效.

问题解决.

alternatives是Linux下面多个同类软件使用管理的工具,详细介绍请见:

http://www.linuxeye.com/Linux/alternatives.html

https://www.cnblogs.com/killkill/archive/2010/08/23/1806468.html

你可能感兴趣的:(liblapack.so.3: undefined symbol: gotoblas错误及解决办法)