Ubuntu 安裝最新版的 Octave -- 從原始碼編譯安裝

在 Ubuntu Linux 中目前若要使用 apt 來裝 Octave 的話,只需要執行一行指令就裝完了:

sudo apt-get install octave3.2
雖然方便,但只能裝 3.2 版的,若要安裝最新版的 Octave 就要下載原始碼自行編譯後安裝,還好編譯 Octave 還蠻簡單的,以下示範從 Octave 原始碼編譯安裝的步驟。

首先下載 Octave 最新的原始碼(筆者撰寫這篇文章時 Octave 的最新版是 3.4.2):

wget ftp://ftp.gnu.org/gnu/octave/octave-3.4.2.tar.bz2
然後解壓縮:

tar jxvf octave-3.4.2.tar.bz2
進到 Octave 原始碼目錄準備編譯:

cd octave-3.4.2
首先執行 configure 設定編譯環境,這個指令有許多選項可以使用,執行前可以先看一下他有哪些參數可用:

./configure --help
這裡我們只指定安裝的路徑,其實的參數就不更動:

./configure --prefix=/usr/local/octave-3.4.2
若是沒有錯誤產生,就可以開始編譯了,而若是有錯誤通常就是少了一些編譯需要的東西,那就看看少了什麼,用 apt 去裝,裝完再執行一次 configure,例如沒有 Fortran Compiler 的話,就裝 gfortran:

sudo apt-get install gfortran
若是少了 PCRE Library 就裝 libpcre3-dev:

sudo apt-get install libpcre3-dev
若是搞不清楚要裝什麼套件,就用 apt-cache 去找一找,例如要找 PCRE Library:

apt-cache search pcre
通常 Library 的套件名稱都是 lib 開頭的,所以若是確定是 Library 可以這樣找比較快:

apt-cache search libpcre
因為是編譯需要的,所以通常都是選有 dev 結尾的,原則上就是這樣,反正就是重複這個動作,直到把所有缺的東西補齊為止。筆者自己測試時,除了上面的 gfortran 與 libpcre3-dev 之外,也裝了底下幾個:

sudo apt-get install libblas-dev liblapack-dev libreadline6-dev libglpk-dev gperf libqhull-dev libhdf5-serial-dev libgraphicsmagick++1-dev libcurl4-openssl-dev libsuitesparse-dev libqrupdate-dev bison flex libglu1-mesa-dev libfontconfig1-dev libfltk1.1-dev

configure 沒問題之後,就可以開始編譯(這是最花時間的步驟,可以喝杯咖啡再回來):

make
編譯完成後,就可以安裝了:

make install
這樣就大功告成啦。


本站已經搬家了,欲查看最新的文章,請至 G. T. Wang 新網站

4 則留言:

  1. 我想請教一下,我在安裝的時候./configure出現錯誤提示:
    configure: WARNING: I need GNU Readline 4.2 or later
    configure: error: this is fatal unless you specify --disable-readline
    但libreadline6在ubuntu12.04裏面是默認安裝好的,我已經有這個軟件包,为什么還会有这个錯誤?
    我之後又嘗試安裝了libreadline5但問題依舊,請問大大是否知道什麼解決辦法?

    回覆刪除
  2. 是否有用 apt 安裝 libreadline-dev(或是類似的)套件?
    dpkg -l|grep readline 的輸出為何?

    回覆刪除
    回覆
    1. 果然是由於默認安裝的是runtime不是dev,當時沒有注意到這一點。
      現在問題已經解決了,非常感謝大大的指導!
      同時,新年快樂~

      刪除
    2. 很高興那麼順利就解決了,新年快樂!

      刪除