Octave for Red Hat Linux systems: Difference between revisions

From Octave
Jump to navigation Jump to search
(Created page with "For RedHat-based distributions like RedHat, CentOS, Fedora, Scientific Linux ... === Dependencies === Tested with CentOS 6.4, but not completely yum install gcc gcc-c++ k...")
 
No edit summary
(15 intermediate revisions by 10 users not shown)
Line 1: Line 1:
For RedHat-based distributions like RedHat, CentOS, Fedora, Scientific Linux ...
For RedHat-based distributions like RedHat, CentOS, Fedora, Scientific Linux ...


=== Dependencies ===
=== Unspecific RH ===


Tested with CentOS 6.4, but not completely
Tested Fedora 20, but not completely.


   yum install gcc gcc-c++ kernel-devel make mercurial libtool libtool-ltdl-devel libtool-ltdl autoconf cmake lapack-devel \
   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
   lapack pcre-devel readline-devel readline fftw-devel glpk-devel suitesparse suitesparse-devel gnuplot libcurl-devel zlib-devel \
  flex texlive gperf fltk-devel qhull-devel hdf5-devel gl2ps-devel qrupdate-devel arpack-devel qscintilla-devel llvm-devel qt-devel \
  bison ghostscript-devel librsvg2-tools icoutils texlive-metapost
 
=== CentOS ===
 
Enable use of [https://fedoraproject.org/wiki/EPEL|Extra Packages for Enterprise Linux (EPEL)] AND THEN install octave dependencies development packages:
 
    yum -y install yum-utils
    yum-builddep -y octave
    yum -y install qt-devel mercurial gcc-c++ lapack-devel libtool
    yum -y install epstool transfig pstoedit qscintilla-devel
 
The arpack-devel package distributed with CentOS 7 (arpack-devel-3.1.3-2.el7.x86_64) seems a bit old, as routine "seupdate" seems not recognized during
the "configure" step. This can be solved by installing arpack from github:
    git clone git@github.com:opencollab/arpack-ng.git
    cd arpack-ng
    ./bootstrap
    ./configure --prefix="some local prefix"
    make; make install
 
Current release as of Aug. 20th 2018 seems to compile OK with CentOS blas-devel
 
===== prepare installation of octave =====
 
The remaining steps do not need to be done as root, except for
possibly the final installation step.  I recommend you create an
installation directory like /usr/local/octave/VERSION so that it is
easy to uninstall a given version simply by removing a directory tree.
Then to use the installed version, put /usr/local/octave/VERSION/bin
in your PATH.  If you create the /usr/local/octave/VERSION directory
with appropriate permissions, it is not necessary to be root to
install Octave.  For example,
 
    mkdir -p /usr/local/octave/dev
    chown jwe.jwe /usr/local/octave/dev
 
create src and build directories:
 
    mkdir src build
 
===== get source code of octave and compile it=====
 
check out a copy of the octave sources in the src directory
 
    cd src
    hg clone http://hg.savannah.gnu.org/hgweb/octave
 
* bootstrap the build system
 
    cd octave
    ./bootstrap
 
* build Octave in the build directory.  choose whatever prefix is appropriate for your system.  the -jN option builds in parallel
 
    cd ../../build
    ../src/octave/configure --prefix=/usr/local/octave/dev
    make -j6 all
 
* Run the test suite
 
    make check
 
* If everything looks OK (a few failures are probably normal for the development version) install it
 
    make install

Revision as of 07:14, 21 August 2018

For RedHat-based distributions like RedHat, CentOS, Fedora, Scientific Linux ...

Unspecific RH

Tested Fedora 20, but not completely.

 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 fltk-devel qhull-devel hdf5-devel gl2ps-devel qrupdate-devel arpack-devel qscintilla-devel llvm-devel qt-devel \
 bison ghostscript-devel librsvg2-tools icoutils texlive-metapost

CentOS

Enable use of Packages for Enterprise Linux (EPEL) AND THEN install octave dependencies development packages:

   yum -y install yum-utils
   yum-builddep -y octave
   yum -y install qt-devel mercurial gcc-c++ lapack-devel libtool
   yum -y install epstool transfig pstoedit qscintilla-devel

The arpack-devel package distributed with CentOS 7 (arpack-devel-3.1.3-2.el7.x86_64) seems a bit old, as routine "seupdate" seems not recognized during the "configure" step. This can be solved by installing arpack from github:

   git clone git@github.com:opencollab/arpack-ng.git
   cd arpack-ng
   ./bootstrap
   ./configure --prefix="some local prefix"
   make; make install

Current release as of Aug. 20th 2018 seems to compile OK with CentOS blas-devel

prepare installation of octave

The remaining steps do not need to be done as root, except for possibly the final installation step. I recommend you create an installation directory like /usr/local/octave/VERSION so that it is easy to uninstall a given version simply by removing a directory tree. Then to use the installed version, put /usr/local/octave/VERSION/bin in your PATH. If you create the /usr/local/octave/VERSION directory with appropriate permissions, it is not necessary to be root to install Octave. For example,

   mkdir -p /usr/local/octave/dev
   chown jwe.jwe /usr/local/octave/dev

create src and build directories:

   mkdir src build
get source code of octave and compile it

check out a copy of the octave sources in the src directory

   cd src
   hg clone http://hg.savannah.gnu.org/hgweb/octave
  • bootstrap the build system
   cd octave
   ./bootstrap
  • build Octave in the build directory. choose whatever prefix is appropriate for your system. the -jN option builds in parallel
   cd ../../build
   ../src/octave/configure --prefix=/usr/local/octave/dev
   make -j6 all
  • Run the test suite
   make check
  • If everything looks OK (a few failures are probably normal for the development version) install it
   make install