GSL (GNU Scientific Library) のインストール(Ubuntu 上)
URL: https://www.gnu.org/software/gsl/
【サイト内の関連ページ】
- GSL (GNU Scientific Library) のベクトル,行列に関する機能 (機能の一部を紹介)は 別の Web ページを見てください。
- C プログラムから GSL (GNU Scientific Library) の機能を呼び出すプログラムの見本と実行手順: 別の Web ページを見てください。
ソフトウェア等の利用条件は,利用者自身で確認下さい.
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now
C/C++ コンパイラと Make とビルドツールのインストール
ソフトウェアをソースコードからビルドするには、C/C++コンパイラ (通常はGCC) や make ユーティリティといった開発ツールが必要である。Ubuntuでは、これらのツールは build-essential パッケージにまとめられている。インストールするには,端末で,次のコマンドを実行する。
sudo apt -y install build-essential libtool texinfo dpkg-dev pkg-config
libtool, texinfo, dpkg-dev, pkg-config は、ビルドやパッケージ管理の際に用いる開発関連ツールである。
curl のインストール(Ubuntu 上)
curl は,コマンドラインからファイルをダウンロードするためのツールである.後の手順で,ソースコードのダウンロードに使用する.インストールするには, 端末で,次のコマンドを実行する.
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install curl
GSL のインストール(パッケージを使用)(Ubuntu 上)
Ubuntu の公式リポジトリには GSL の開発用パッケージ libgsl-dev が用意されている(Ubuntu 24.04 では GSL 2.7.1,Ubuntu 26.04 では GSL 2.8).最新版が必要でない場合は,端末で,次のコマンドを実行する.
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install libgsl-dev
インストール結果を確認するには,端末で,次のコマンドを実行する.
gsl-config --version
pkg-config --cflags --libs gsl
GSL のインストール(ソースコードを使用)(Ubuntu 上)
公式リポジトリのパッケージより新しい版を使う場合は,ソースコードからビルドする.
GSL のソースコードのダウンロード
- GSL の Web ページを開く
- ソースコードをダウンロードするために,この Web ページの下の方にある「GNU Mirror」をクリックする.
- ミラーサイト一覧の Web ページが開くので確認する.
- 日本のミラーサイトを選ぶために,「https://ftp.jaist.ac.jp/pub/GNU/」をクリックする.
- ダウンロード用のサーバに接続し,GNU ソフトウェアのディレクトリ一覧が表示されるので確認する.
- GSL をダウンロードするために,一覧の中の「gsl/」をクリックする.
- さまざまな版のファイルが表示される.
- 最新版の gsl-2.8.tar.gz をクリックする.ダウンロードが始まる
- ダウンロードしたファイルを/tmp 下に置く.
curl を用いて端末からダウンロードすることもできる.その場合は,次のコマンドを実行する.
cd /tmp curl -L -O https://ftp.jaist.ac.jp/pub/GNU/gsl/gsl-2.8.tar.gz - 展開(解凍)する.
cd /tmp tar -xvzf gsl-2.8.tar.gz
GSL のビルドとインストール
-
端末で,次のコマンドを実行する.
--prefix=/usr/localはインストール先の指定である.make -j$(nproc)は CPU のコア数に応じた並列ビルドを行う指定である.cd /tmp cd gsl-2.8 CFLAGS="-fexceptions -ftree-vectorize" ./configure --prefix=/usr/local make -j$(nproc) sudo make install
- 結果の確認
エラーメッセージが出ていないこと.
共有ライブラリの検索パスの設定
GSL の共有ライブラリは /usr/local/lib にインストールされる.Ubuntu では,/etc/ld.so.conf が /etc/ld.so.conf.d/ 内の設定ファイルを読み込み,その中の libc.conf に /usr/local/lib が記載されている.そのため,通常は次のコマンドで共有ライブラリのキャッシュを更新すればよい.
sudo ldconfig
/usr/local/lib が検索パスに含まれていない場合(プログラム実行時に libgsl.so が見つからないというエラーが出る場合)は,次のコマンドで設定ファイルを追加してから,キャッシュを更新する.
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/usrlocal.conf
sudo ldconfig
設定結果を確認するには,端末で,次のコマンドを実行する.
ldconfig -p | grep libgsl
/usr/local/bin/gsl-config --version