24.2. 如何在 FreeBSD 下安裝 Mathematica

原文由 Rich Murphey 以及 纂寫

這份文件將說明如何在 FreeBSD 2.1 下安裝 Linux 版的 Mathematica 2.2.

Mathematica 並沒有出版 FreeBSD 版本。 你必須先安裝 Linux 模擬器,才能在 FreeBSD 上跑 Mathematica。

對那些已經有教育版的 Mathematica for DOS, 在本文寫作 (1996年三月) 時,你須要花費 $45.00 來升級到 Linux 版本。 你可以直接以 credit card 跟 Wolfram 訂購 (217) 398-6500

24.2.1. 解開 Mathematica 包裝

Mathematica 的程式是由 Wolfram 以 CDROM 的方式發行。 CDROM 上面約有十幾個 tar 格式的檔案,每一個都是包含它所 支援的平台所需要的執行檔。給 Linux 用的檔名是 LINUX.TAR。 下面的指令可以將這個檔案解開到 /usr/local/Mathematica 這個目錄下 (當然你也可以在別的目錄將它解開):

    # cd /usr/local
    # mkdir Mathematica
    # cd Mathematica
    # tar -xvf /cdrom/LINUX.TAR

24.2.2. 取得你得 Mathematica 的密碼

在你安裝 Mathematica 之前你須要先取得一個對應到你的 ``機器編號 (machine ID)'' 的密碼。

假設你已經安裝好了 Linux 執行時需要的程式庫,且已將 Mathematica 解開在硬碟裡,你可以在它的目錄下執行 mathinfo 來取得你的 `` 機器編號 (machine ID) '' 。

    # cd /usr/local/Mathematica/Install
    # mathinfo
    LINUX: 'ioctl' fd=5, typ=0x89(), num=0x27 not implemented
    richc.isdn.bcm.tmc.edu   9845-03452-90255

在此例中,richc 這台機器的編號是 9845-03452-90255。 你可以忽略 ioctl 那一行訊息,這是因為模擬器並沒有模擬這個功能。 但這並不會影響到 Mathematica 的執行,雖然你在 Mathematica 執行的時候會看到它好幾次,你仍可不去理會它。

當你用電話,傳真或是 email 向 Wolfram 註冊,你就告訴他們你的 `` 機器編號 '' ,他們會給你一組包含一組數字的密碼。 你需要將這組數字連同機器名稱以及產品編號 (license number)一起 寫進你的 mathpass 檔案中。

你可以這樣做:

    # cd /usr/local/Mathematica/Install
    # math.install

它會要你輸入你的產品編號和 Wolfram 給你的密碼。 如果你不小心沒有輸入正確,使得 math.install 執行失敗,沒關係; 你可以手動修改該目錄下的 mathpass 這個檔案即可。

在改好了 passwd 這個檔案後,math.install 會問你是否要裝預設的組態,或是你要用你自己的。 如果你跟我們一樣不相信自動安裝的程式, 你或許想要自己輸入要安裝的目錄。注意,雖然 math.install 程式會要你指定要安裝的目錄, 但它並不會自動幫你建立該目錄。 所以你應該要開另一個視窗在你真正開始安裝之前建立該目錄。 如果你不先把目錄開好,該程式會失敗。 請從新執行 math.install 。 所需開的目錄大致如下:

/usr/local/Mathematica/binfor binaries
/usr/local/Mathematica/man/man1for man pages
/usr/local/Mathematica/lib/X11for the XKeysymb file

建議指定 /tmp/math.record 為系統紀錄檔, 這樣 mathematica 會將執行的紀錄記在此檔案。 在此之後,math.install 會將所有的檔案解開並安裝在適當的地方。

Mathematica 有一個 Notebook 做為 X-window 下的前端程式。 你必須另外安裝它。要安裝此前端程式,你要先進入目錄 /usr/local/Mathematica/FrontEnd 然後執行 /xfe.install 這個 script。 它會問你要把程式放在那裡,此處你就不用再建立空的目錄, 因為它將會使用前面 math.install 所使用的目錄來安裝程式。 當此程式結束時,在 /usr/local/Mathematica/bin 下應該有一個可執行的 script 名為 mathematica

最後,你需要更改每個 Mathematica 所安裝的 shell scripts。 在 /usr/local/Mathematica/bin 下的 shell script 的最前面,加入:

    % XKEYSYMDB=/usr/local/Mathematica/lib/X11/XKeysymDB; export XKEYSYMDB

此行設定會讓 Mathematica 去找到它自己的 XKeysymDB。少了這行設定, 你會在執行時看到好幾頁關於找不到鍵盤對照表的錯誤訊息。

在 2.1-STABLE 版本中,你也需要加入下面這一行:

    % RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF

這會讓 Mathematica 去讀 Linux 版的 host.conf。 FreeBSD 這個檔案的格式跟Linux 的不同, 所以如果你不做這項設定,你會得到關於 /etc/host.conf 的錯誤訊息。

你或許也想修改你自己的 /etc/manpath.config 來指定新的 man page 目錄。 同時你也許想要修該 ~/.cshrc 來將 /usr/local/Mathematica/bin 加入你的 path。

這就是全部的說明。做了這些你應該可以輸入 mathematica 然後正確處理你的數學問題了。 Mathematica 已經包含有 Motif 的使用者介面,而且是靜態連結, 所以你自己並不需要 Motif 程式庫。祝你好運!

24.2.3. 已知錯誤

當你使用 Notebook 前端程式來讀取 notebook 檔案時,你可能會 收到一個約略如下的錯誤訊息,而該程式不再有回應:

    ``File .../Untitled-1.mb appears to be broken for OMPR.257.0''

我們還沒找到問題所在。不過這個問題只影響 Notebook X Window 的前端程式, 而非 mathematica 主程式。所以當你輸入 math 來使用命令列前端時, 你並不會受到影響。

24.2.4. 誌謝

非常感謝 Søren Schmidt 和 Peter Wemm ,是他們兩位使得 Linux 執行模式有今天的表現。 同時也謝謝 Michael Smith,是他趨使前面這兩位忙得幾乎像狗一樣, 而能讓 FreeBSD 執行 Linux 程式比 Linux 有更好的表現!:-)