依赖关系
Octave 的依赖很多,有 blas, lapack 线性代数库,一堆 稀疏矩阵库 (Fedora 安装 suitesparse-devel),还有 ftgl, arpack, qrupdate 的 devel库, gperf 等。比较烦人的还依赖 texi2dvi (虽然不时本质依赖,但没有它 make 最后报错)。
Fedora 软件仓库里的 texi2dvi,依赖 texlive RPM。 最初想用 fake texlive 包的办法,但发现它依赖的 /usr/bin/texconfig-sys
在 texlive 虚假包中一句 Provides 解决不了。最终还是下载了官方的 texinfo.tar.gz 压缩包,./configure; make; make install
解决。 注意这样会重复安装 info
等工具。
Octave 三部曲
最新的代码版本中把早先 Octave Forge 里的 Java 支持整合进来了。 然而这使得我 make 时报错 jni.h not found 于是安装 java-1.6.0-openjdk-devel,重来,还是不行。 查看 config.log 文件发现 JAVA_CPPFLAGS
不对(至少对 Fedora 来说), 几经周折发现手动指定 JAVA_HOME
可以绕开这个问题:
./bootstrap
JAVA_HOME=/usr/lib/jvm/java ./configure
make -j 6
make check
其他
最初把 hg 仓库克隆到了笔记本电脑上,后来意识到这不行(编译太慢),于是 转移到台式机上。发现可以建立一个文件夹 hg init 后,在源端使用 hg push。 不用担心 bare repo 的问题,hg 只会更新 .hg/ 下的东西,需要检出时 hg update 即可。