Sunday, April 24, 2011

GNU Scientific Library (GSL)

GNU Scientific Library (GSL) 網址 http://www.gnu.org/software/gsl/

原始檔安裝
下載檔案 ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz

$ tar zxfv gsl-1.9.tar.gz

$ cd gsl-1.9/

產生 Makefiles
$ ./configure

預設安裝於 /usr/local 目錄,使用 --prefix=PATH 參數可指定安裝於其他路徑,例如安裝 gsl 於 /usr 目錄之下則使用
$ ./configure --prefix=/usr

編譯 library。
$ make

安裝 gsl 於預設目錄 /usr/local 之下 (亦即安裝相關檔案於 /usr/local/include/gsl 目錄)
$ make install

若使用 --prefix=/usr 參數以指定安裝路徑,則將安裝相關檔案於 /usr/include/gsl 目錄。

問題排除
$ ./a.out
./a.out: error while loading shared libraries: libgsl.so.0: cannot open shared object file: No such file or directory

library 檔案 libgsl.so.0 已存在於 /usr/local/lib/libgsl.so.0, 解決方法為設定 LD_LIBRARY_PATH, 參考 http://www.gnu.org/software/gsl/manual/html_node/Shared-Libraries.html


套件安裝
使用 yum 搜尋安裝套件
$ yum search gsl
gsl.i386 : The GNU Scientific Library for numerical analysis
gsl.x86_64 : The GNU Scientific Library for numerical analysis
gsl-devel.i386 : Static libraries and header files for GSL development
gsl-devel.x86_64 : Static libraries and header files for GSL development

選擇安裝套件,32 bit 機器選擇安裝 gsl.i386:
$ yum install gsl.i386
$ yum install gsl-devel.i386

64 bit 機器選擇 gsl.x86_64 以安裝 library 檔案(例如 libgsl.a 和 libgsl.so) 於 /usr/local/lib 目錄。
$ yum install gsl.x86_64

64 bit 機器選擇 gsl-devel.x86_64 以安裝 header file 於 /usr/include/gsl 目錄。
$ yum install gsl-devel.x86_64

static library 和 header file 預設安裝於 /usr/include/gsl 目錄。

參考資料
GSL Reference Manual, http://www.gnu.org/software/gsl/manual/html_node/index.html

No comments:

Post a Comment