参考博文:
http://blog.sina.com.cn/s/blog_6cb8e53d0101keak.html#cmt_2211247
http://pgfe.umassmed.edu/ou/archives/2549
服务器环境:
1.linux 64位
2.centOS 5
3. g++ 4.1.2
(不确定服务器配置对环境搭建的影响,只是在本机这样的环境下配置成功)
开发包:
lapack-3.3.1.tgz http://www.netlib.org/lapack/#_previous_release
atlas3.8.4.tar.bz2 http://sourceforge.net/projects/math-atlas/files/Stable/
cvxopt-1.1.7.tar.gz http://cvxopt.org/download/index.html
glpk-4.53.tar.gz http://ftp.gnu.org/gnu/glpk/
安装步骤:
一、lapack安装
tar -zxvf lapack-3.3.1.taz
cd lapack-3.3.1
cp INSTALL/make.inc.gfortran make.inc
vi make.inc
修改两行:OPTS = -O2 -fPIC
NOOPT = -O0 -fPIC
cd SRC
make (lapack-3.3.1下生成lapack_LINUX.a )
二、atlas安装
tar jxvf atlas3.8.4.tar.bz2
cd ATLAS/
mkdir ATLAS_x86_64
cd ATLAS_x86_64
../configure -Fa alg -fPIC --with-netlib-lapack=**/lapack-3.3.1/lapack_LINUX.a --prefix=***/atlas
注:--with-netlib-lapack是lapack_LINUX.a的路径
--prefix 是安装路径,自己指定(atlas是我创建的一个文件夹)
随意指定路径即可,不一定在/usr 或者~/.local下
make
cd lib
make shared
make ptshared (这两步在lib下生成6个so文件)
cd ..
make install
cp lib/*.so **/atlas/lib (atlas安装路径下的lib)
三、设置环境变量
vi ~/.bashrc
添加 export LD_LIBRARY_PATH=**/atlas/lib:$LD_LIBRARY_PATH
source ~/.bashrc
四、安装cvxopt
tar zxvf cvxopt-1.1.7.tar.gz
vi setup.py
修改:BLAS_LIB_DIR = '**/atlas/lib'
BLAS_LIB = ['f77blas', 'cblas', 'atlas', 'gfortran']
LAPACK_LIB = ['lapack']
python setup.py install
测试是否安装成功:
test.py
from cvxopt import matrix
没有错误,即成功。
五、安装扩展模块glpk
1.安装glpk
tar zxvf glpk-4.53.tar.gz
cd glpk-4.53
./configure
make
make check
mkdir **/glpk
make prefix=**/glpk install
2.配置环境变量
vi ~/.bashrc
添加export LD_LIBRARY_PATH=**/glpk/lib:$LD_LIBRARY_PATH
source ~/.bashrc
3.cvxopt安装扩展模块glpk
cd cvxopt-1.1.7
vi setup.py
修改:BUILD_GLPK = 1
GLPK_LIB_LIBRARY='**/glpk/lib'
GLPK_INC_LIBRARY='**/glpk/include'
python setup.py install
4.测试
python
from cvxopt import glpk
没有报错,则成功。
5.注意:起初使用的是cvxopt-1.1.5,但在扩展glpk模块时遇到很多error,形如
C/glpk.c:46: error: ‘LPX_K_MSGLEV’ undeclared here (not in a function)
后来知是cvxopt和glpk之间的接口问题。后来使用cvxopt-1.1.7和 glpk 4.53是OK
的。没有探究cvxopt-1.1.7和glpk 4.53以上版本是否work,估计OK。
总结:这是我第一次在linux下安装工具,历时一周,花在这个上面的时间有两天半。
现在回过头来想想也不是那么不易,只是安装过程确实遇到许多莫名的问题,通过网上对问题搜索,
研读安装文件,向人请教相关知识,还发邮件给在github上看到的安装成功的人请教,等等,终于安装成功。
还是蛮开心的,相当锻炼解决问题的能力!