一开始使用源码安装,遇到很多问题,主要:

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.csdn.net/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

 

 

posted on 2014-04-17 17:08  Namlike  阅读(2632)  评论(0编辑  收藏  举报