Instalação do GNU Octave; erros de caminho

0

Eu instalei o Octave via:

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/build

A variável DESTDIR foi originalmente definida como /usr/local/share/octave , com o mesmo problema encontrado quando o arquivo executável foi executado. O problema é que a execução do arquivo executável /opt/octave/build/usr/local/bin/octave fornece o erro:

➜  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'

a solução óbvia seria mover o conteúdo de /opt/octave/build para / , alterando assim o caminho do executável para /usr/local/bin/octave . Mas estou tentando criar um diretório binário que pode ser movido para qualquer lugar no sistema de arquivos e ainda funcionar.

Mas eu também gostaria de saber como instalar o Octave (de uma forma que não é móvel como um pacote binário) no meu sistema. Se foi assim que eu sugeri, por exemplo, movendo o conteúdo de /opt/octave/build para / , por favor, diga-me como, a partir da linha de comando, por favor.

    
por BH2017 13.06.2015 / 11:45

1 resposta

0

A resposta curta é que você deve construir o Octave com --prefix=DIR em vez de especificar DESTDIR=DIR no comando make install , como já foi indicado nos comentários.

Sua pergunta mais fundamental é como criar uma instalação binária do Octave que possa ser movida para qualquer lugar no sistema de arquivos e ainda assim estar totalmente funcional. E a resposta é que atualmente não é possível fazer isso. Quando o Octave é compilado, vários caminhos para suas próprias bibliotecas e scripts são compilados no executável para que ele possa encontrar seu próprio tempo de execução. Algumas delas podem ser substituídas (consulte, por exemplo, octave --help para algumas opções para substituir os caminhos padrão), mas algumas correntes não podem, como o caminho para mkoctfile ou octave-gui . As localizações desses programas auxiliares dependem completamente do valor dado a --prefix quando o Octave é construído.

    
por Mike Miller 16.09.2015 / 23:36