症狀:
在 Windows 7 上安裝 GNU Octave 3.8.2 版本後,欲再執行 build_packages.m 來新增 Octave-forge 程式庫時,出現 "Unable to find ncurses library headers" 錯誤訊息 (如下圖),以致於無法完整地安裝 Octave-forge 程式庫。
原因:
可能是因為電腦中另外安裝的 MingGW 系統,其環境參數的設定使得 Octave 在執行 build_packages.m 時,無法參考到原已包裝在 Octave 3.8.2 的 MinGW 編譯環境,以致於 gcc 編譯程式找不到應該連結到的 ncurses 程式庫。
解決方法:
將下列指令儲存成名為 go.bat 批次檔,再將 go.bat 置於 C:\Octave\Octave-3.8.2\bin 資料夾下。以之啟動 Octave-GUI.exe 後,再於 Octave-GUI 內執行置於 C:\Octave\Octave-3.8.2\src 資料夾的 build-packages.m,即可成功地完整建立 Octave-forge 程式庫。
@echo off Rem Find Octave's install directory through cmd.exe variables. Rem This batch file should reside in Octaves installation subdir! Rem Rem This trick finds the location where the batch file resides. Rem Note: the result ends with a backslash set OCT_HOME=%~dp0 Rem Set up PATH. Make sure the Octave-version-specific subdir Rem comes first. Use system environment variables for the Rem Windows system dirs. Rem Ghostscript is still an issue, I've left my setup for it Rem in the line below: set PATH=%OCT_HOME%bin;%windir%\system32;%windir%;%windir%\system32\wbem;%OCT_HOME%gs\gs9.14\bin Rem Start Octave (this detaches octave-gui and immediately Rem returns): start octave-gui.exe Rem or REM start octave-cli.exe Rem Close the batch file's cmd.exe window exit或是使用 Octave 官網上的 octave-gui.bat 來啟動 Octave 亦可。octave-gui.bat 的內容如下:
@echo off set PATH=%CD%\bin\ start octave --force-gui -i --line-editing exit
在使用 Octave-forge 程式庫時,要先使用 pkg load 指令將所指定的程式庫載入。例如:欲使用 read_fits_image() 函數前,須使用 pkg load fits 指令,載入 fits 程式庫 (請參考 Octave-forge 官網)。
沒有留言:
張貼留言