设为首页 收藏本站
查看: 675|回复: 0

[经验分享] centos下安装octave的问题

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-4-18 10:41:25 | 显示全部楼层 |阅读模式
一开始使用源码安装,遇到很多问题,主要:

1)configure时提醒需要blas和lapack

于是下载lapack-3.5.0.tgz,编译过程也是几经周折:

发现lapack包里已经包含有blas的源码。

解压:tar zxf lapack-3.5.0.tgz

cd lapack-3.5.0

先编译blas,生成librefblas.a,否则直接编译lapack的话会提示缺少librefblas.a

cd BLAS

make //得到librefblas.a

cd ..

cp make.inc.example make.inc

make

最终得到librefblas.a 和liblapack.a两个文件,复制到/usr/local/lib中

重新configure,加上--with-blas=/usr/local/lib --with-lapack=/usr/local/lib,这回

configure就没得抱怨了,让我高兴的半死,可是悲剧还在后头

2)话说我装octave是要用来做图片处理的,可是就在我使用imread加载图片的时候,该死的

octave告诉我说octave在built的时候没有开启image I/O功能,不会吧,难道要重新configure。

没办法,对我这种菜鸟,也只能如此了,查看INSTALL.OCTAVE文件并查看configure --help,

知道是configure时没有--with-magick,configure --help的提示是:--with-magick=LIB

与--with-magick=<lib>不一样,不知道什么意思,然后就各种撞墙找出路,好惨。

于是我查了下/usr/lib里是有两三个libGraphicsMagick.so.(数字文)件的,所以试了几个方法:

--with-magick=/usr/lib

--with-magick=/usr/lib/libGraphicsMagick.so.(数字)

...

搞死

还是不行

有人说百度是万能的,这回我真不信了,压根就没有搜不到解决方法,还是google救了我。

google搜到一个英文论坛,大致给我的启示,configure使用pkg-config来搜索libGraphicsMagick

的各种目录,包括libs,include等,应该就是这几行:

  MAGICK_CPPFLAGS=`$PKG_CONFIG --cflags-only-I $magick++`
  MAGICK_LDFLAGS=`$PKG_CONFIG --libs-only-L $magick++`
  MAGICK_LIBS=`$PKG_CONFIG --libs-only-l $magick++`

所以按道理来说,不需要在--with-magick时添加目录,只需写库名就可以了,即

--with-magick=GraphicsMagick

一开始并不知道有关GraphicsMagick的库名是什么,有撞了好几次墙。不得不回顾了一下

pkg-config的作用原理,想起它需要对应的.pc文件,于是寻找所有的.pc文件,找不到。

愤怒之下,使用源码重装GraphicsMagick(之前是使用yum install GraphicsMagick直接装的)

然后,就是GraphicsMagick的各种问题了

3)安装GraphicsMagick

你想直接configure?做梦。不过我并不反对简单的先来。但这里我得先装依赖包!

http://wiki.octave.org/Octave_for_RedHat_Systems这里了解,据说是要装:

yum install gcc gcc-c++ kernel-devel make mercurial libtool libtool-ltdl-devel libtool-ltdl autoconf cmake lapack-devel \
lapack pcre-devel readline-devel readline fftw-devel glpk-devel suitesparse suitesparse-devel gnuplot libcurl-devel zlib-devel \
flex texlive gperf 这么多!我是菜鸟,先装上试试。
好像还是不行,又上网找了几个方法:
http://blog.iyunv.com/wangdogman/article/details/17957689
中的依赖包,yum install freetype gd-devel libgomp libjpeg libjpeg-devel libpng libpng-devel
最后终于configure通过,至今我仍然不知道是哪个方法拯救了我,那就继续糊涂吧,反正是行了!!

注意configure的时候要设置好--with-quantum-depth,具体见http://wiki.octave.org/GraphicsMagick

我这是用配置为:

./configure  --with-quantum-depth=32 --enable-shared --disable-static --with-magick-plus-plus=yes
make
make check
sudo make install
成功后,在/usr/local/lib/pkgconfig中找到了几个.pc文件:

GraphicsMagick.pc  GraphicsMagick++.pc  GraphicsMagickWand.pc
但是使用pkg-config --cflags --libs GraphicsMagick还是提示无法找到.pc文件,于是修改环境变量
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/

这下行了。

4) 搞定了GraphicsMagick,继续安装octave。

这里我configure的配置如下:

./configure --with-qhull-libdir=/usr/lib --with-hdf5-includedir=/usr/include \

--with-hdf5-libdir=/usr/lib --with-fftw3-includedir=/usr/include --with-fftw3-libdir=/usr/lib \

--with-fftw3f-libdir=/usr/lib --with-glpk-libdir=/usr/lib --with-curl-libdir=/usr/lib \

--with-magick=GraphicsMagick --with-blas=/usr/lib/libblas.a --with-lapack=/usr/local/lib/liblapack.a

呵呵,好多,其实可能没必要。

make

./run-octave  // 这步的时候测试imread可行

make check

make install

顺利解决。

*****************************************************************

当然在centos下安装octave有更简单的方法,那就是可爱的yum。

但是这里需要先安装一个类似库的东西,就是可爱的EPEL,大概过程如下:

# wget http://url/to/latest/epel-release-X-X.noarch.rpm
# yum localinstall epel-release-6-7.noarch.rpm
然后就可以,使用yum直接安装了:
yum install octave octave-devel
//这边可以参考http://wiki.octave.org/Octave_for_GNU/Linux#Red_Hat_Enterprise
*****************************************************************

给octave安装image-2.2.1.tar.gz包

装个包也不让顺利点。

根据依赖关系,要先装general包,整个过程顺序如下:

进入octave

pkg install general-1.3.4.tar.gz

pkg install control-2.6.2.tar.gz

pkg install signal-1.3.0.tar.gz

pkg install image-2.2.1.tar.gz




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-17689-1-1.html 上篇帖子: linux进程的查看与操作 下篇帖子: 64位 ubuntu12下安装metasploit+postgresql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表