mxnet 中 cannot find -lcblas问题
来源:互联网 发布:淘宝商城毛衣链 编辑:程序博客网 时间:2024/04/29 18:08
编译出现题目中的问题后,开始以下工作:
1.确保机器上安装了gfortran编译器,如果没有安装的话,可以使用sudo apt-get install gfortran
2.下载blas, cblas, lapack 源代码, 这些源码都可以在 http://www.netlib.org 上找到,下载并解压。这里提供我安装时的下载链接 http://www.netlib.org/blas/blas.tgz http://www.netlib.org/blas/blast-forum/cblas.tgz http://www.netlib.org/lapack/lapack-3.4.2.tgz,解压之后会有三个文件夹,BLAS,CBLAS,lapack-3.4.2
3.这里就是具体的编译步骤
1)编译blas, 进入BLAS文件夹,执行以下几条命令
- gfortran -c -O3 *.f # 编译所有的 .f 文件,生成 .o文件
- ar rv libblas.a *.o # 链接所有的 .o文件,生成 .a 文件
- su cp libblas.a /usr/local/lib # 将库文件复制到系统库目录
2)编译cblas, 进入CBLAS文件夹,首先根据你自己的计算机平台,将目录下某个 Makefile.XXX 复制为 Makefile.in , XXX表示计算机的平台,如果是Linux,那么就将Makefile.LINUX 复制为 Makefile.in,然后执行以下命令
- cp ../BLAS/libblas.a testing # 将上一步编译成功的 libblas.a 复制到 CBLAS目录下的testing子目录
- make # 编译所有的目录
- sudo cp lib/cblas_LINUX.a /usr/local/lib/libcblas.a # 将库文件复制到系统库目录下
3)编译 lapack以及lapacke,这一步比较麻烦,首先当然是进入lapack-3.4.2文件夹,然后根据平台的特点,将INSTALL目录下对应的make.inc.XXX 复制一份到 lapack-3.4.2目录下,并命名为make.inc, 这里我复制的是 INSTALL/make.inc.gfortran,因为我这里用的是gfortran编译器。
修改lapack-3.4.2/Makefile, 因为lapack以来于blas库,所以需要做如下修改
#lib: lapacklib tmglib
lib: blaslib variants lapacklig tmglib
- make # 编译所有的lapack文件
- cd lapacke # 进入lapacke 文件夹,这个文件夹包含lapack的C语言接口文件
- make # 编译lapacke
- cp include/*.h /usr/local/include #将lapacke的头文件复制到系统头文件目录
- cd .. #返回到 lapack-3.4.2 目录
- cp *.a /usr/local/lib # 将生成的所有库文件复制到系统库目录
安装完成后编译mxnet时出现问题:
/usr/local/lib/libcblas.a: error adding symbols: 错误的值
collect2: error: ld returned 1 exit status
make: *** [lib/libmxnet.so] 错误 1
解决办法:
进入 mxnet 文件夹,将config.mk中的USE_BLAS = atlas 改成USE_BLAS = blas
- mxnet 中 cannot find -lcblas问题
- /usr/bin/ld: cannot find -lcblas
- /usr/bin/ld: cannot find -lcblas /usr/bin/ld: cannot find -latlas 这两个问题的解决办法并编译成功
- Cannot find -lboost_python3 问题
- 关于linux中cannot find -lXXX的问题
- Mybatis 中 Cannot find class: BaseResultMap问题所在
- 解决cannot find -lopencv_dep_cudart问题
- mxnet中im2rec.py的小问题
- cannot find -lxxx 问题的总结
- 解决 error: cannot find openssl s 问题
- Cannot find any information on property问题
- 关于cannot find -ltcl -ltk的问题
- 问题“cannot find any provider supporting des”
- cannot find -l****问题的解决办法
- apk编译问题 cannot find symbol
- cannot find -l*** 问题的解决办法
- 解决 error: cannot find openssl s 问题
- Struts中Cannot find bean XXX in any scope的问题
- js 高程学习总结 第三章
- leetcode_middle_30_319. Bulb Switcher
- 多线程同步相关
- nginx简易教程
- Visual Studio Code 常用快捷键
- mxnet 中 cannot find -lcblas问题
- mysql索引类型以及适用场景
- Android中Toolbar的使用
- installshield limited 2015 错误-6003解决方案
- 不使用第三方变量,交换两个变量的值 ,并且适度考虑范围溢出(20多亿)
- OpenCV人脸识别专题文集
- LeMaker Guitar BSP使用方法
- R语言并行运算(snow包)
- npm升级自身版本