我通过以下方式安装Octave:
cd /tmp
wget -c ftp://ftp.gnu.org/gnu/octave/octave-4.0.0.tar.gz
tar -xzf octave*.tar.gz
mv octave* octave && sudo mv octave /opt
sudo chmod 777 -R /opt/octave
./configure CPPFLAGS=-I/usr/include/hdf5/serial LDFLAGS=-L/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/hdf5/serial JAVA_HOME='/usr/lib/jvm/java-1.7.0-openjdk-i386'
make
sudo make install DESTDIR=/opt/octave/buildDESTDIR变量最初被设置为/usr/local/share/octave,在运行可执行文件时遇到同样的问题。问题是,运行可执行文件/opt/octave/build/usr/local/bin/octave会产生错误:
➜ octave '/opt/octave/build/usr/local/bin/octave'
octave: failed to exec '/usr/local/libexec/octave/4.0.0/exec/i686-pc-linux-gnu/octave-gui'显而易见的解决方案是将/opt/octave/build的内容移动到/,从而将可执行文件的路径更改为/usr/local/bin/octave。但是我正在尝试创建一个二进制目录,它可以被移动到文件系统上的任何位置,并且仍然可以工作。
但是我也想被告知如何在我的系统上安装Octave (以一种不像二进制包那样移动的方式)。如果这是我建议的方式,即将/opt/octave/build的内容移到/,请告诉我如何从命令行开始。
发布于 2015-09-16 21:36:02
简单地说,您应该使用--prefix=DIR构建Octave,而不是像注释中已经指出的那样在make install命令上指定DESTDIR=DIR。
您更基本的问题是如何创建Octave的二进制安装,该安装可以在文件系统上的任何位置移动,并且仍然是完全功能的。答案是,目前不可能做到这一点。当Octave被编译时,它自己的库和脚本的几条路径被编译到可执行文件中,这样它就可以找到自己的运行时。其中一些可能会被重写(例如,一些覆盖默认路径的选项请参见octave --help ),但有些当前不能覆盖,例如mkoctfile或octave-gui的路径。这些辅助程序的位置完全取决于在构建--prefix时给出的值。
https://askubuntu.com/questions/635929
复制相似问题