注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

云之南

风声,雨声,读书声,声声入耳;家事,国事,天下事,事事关心

 
 
 

日志

 
 
关于我

专业背景:计算机科学 研究方向与兴趣: JavaEE-Web软件开发, 生物信息学, 数据挖掘与机器学习, 智能信息系统 目前工作: 基因组, 转录组, NGS高通量数据分析, 生物数据挖掘, 植物系统发育和比较进化基因组学

网易考拉推荐

ATLAS3.9.41安装  

2011-07-04 23:22:36|  分类: linux&shell |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://math-atlas.sourceforge.net/atlas_install/


安装scipy时,要先安装lapack(包括了BLAS包)(http://fhqdddddd.blog.163.com/blog/static/186991542011646102822/
和ATLAS包,ATLAS安装如下:
tar -xzvf ATLAS3.9.41.tar.gz
cd ATLAS
mkdir build
cd ~/ATLAS/build

 atlas3.9.41+lapack-3.2.2

 ../configure  -b 64 -Fa alg -fPIC --with-netlib-lapack-tarfile=/home/SCE/zhaolei/lapack-3.2.2.tgz -Si cputhrchk 0 -Ss kern /home/SCE/zhaolei/gcc-4.5.3/bin/gcc --prefix=/home/SCE/zhaolei/local

   (在ATLAS的子目录即ATLAS3.9.41中执行命令

--with-netlib-lapack-tarfile 这个参数 为了安装lapack,如果前面没有安装lapack

-Si cputhrchk 0, 忽略cpu节能
-Ss kern,指明 gcc路径
--prefix,指明安装路径

)

  注意路径 要用 绝对路径


make
cd build/lib  (进入lib下面)

make shared (产生动态库)

cd build
make install

但是这样安装了以后,只产生了一个动态库  libsatlas.so 而libblas.so,liblapack.so动态库没有

所以 要 再新安装 3.9.32版本

要将3.9.41版本 atlas build / lib下的Makefile替换成3.9.32的build / lib下的Makefile 同时 要修改Makefile文件中DESTDIR和VER=3.9.41

1. 修改Makefile 文件

我的 3.9.32版本的是在 /home/SCE/zhaolei/software/ATLAS下面编译的,所以 它的

DESTDIR= /home/SCE/zhaolei/software/ATLAS

而 3.9.41 版本是在  /home/SCE/zhaolei/ATLAS下面编译的,所以 它的

DESTDIR= /home/SCE/zhaolei/local/ (即前面安装3.9.41时的 --prefix= 相同)

所以,3.9.41版本 atlas build / lib下的Makefile替换成3.9.32的build / lib下的Makefile 同时 要修改Makefile文件中DESTDIR。

重编译动态库

cd build/lib

make shared

2. 有可能还有如下错误( 也可以先看一下

F77SYSLIB = -L/home/SCE/zhaolei/gcc-4.5.3/lib/../lib64 -lgfortran

指向的目录中 有没有 libfortran.so*这样的文件,有的话,就是对的。如果没有,这时就要修改了。)

ld: cannot find -lgfortran
make[1]: *** [libf77blas.so] Error 1

这个主要是 找不到你的gcc下libfortran.so*的位置

3.这时 要修改3.9.41版本 /build/lib下面的make.inc

修改 F77SYSLIB= ......................... -lgfortran 让它指向你的 libfortran.so*的所在目录

另外一种方法:

也可以                                                            用 -lgfortranbegin 替换 -lgfortran

我的修改成下面这样:

 F77SYSLIB = -L/home/SCE/zhaolei/gcc-4.5.3/lib64 -lgfortran

另外一种方法的修改:

F77SYSLIB =-L/home/SCE/zhaolei/gcc-4.5.3/lib/gcc/x86_64-unknown-linux-gnu/gcc-4.5.3 -l gfortranbegin


make shared

还有错误

ATL_FreeAtomicCount_mut.c:(.text+0x0): multiple definition of `ATL_FreeAtomicCount'
libatlas.a(ATL_FreeAtomicCount_arch.o):ATL_FreeAtomicCount_arch.c:(.text+0x0): first defined here
make[1]: *** [libatlas.so] Error 1
这是由于前面的没有修改Makefile 和make.inc时,引起的错误,再make shared时,系统不能自动删除前面的运行错误。
所以,没有办法
删除build目录。
只好重新再安装一下,记着一定先修改完Makefile和make.inc后再 make shared.
最后在build目录中
make check
make install
这时 后缀为 .a的包 已经复制到 ATLAS的安装目录/home/SCE/zhaolei/
local/lib目录下面去了,但是后缀为 .so的文件名可能没有复制,
所以自己再复制一次
>cd build/lib
>cp ./lib/ *.so 
/home/SCE/zhaolei/local/lib (把所有 .so的包都复制到ATLAS的安装目录/home/SCE/zhaolei/local/lib目录下面因为 .so后缀的包安装Scipy时要用到。)
>chmod 755  /home/SCE/zhaolei/ATLAS/lib

还有一个包 libtatlas.so 没有安装上,这个包scipy不用,所以就不安装了
  评论这张
 
阅读(641)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016