gsl のインストール(ソースコードを用いたインストール)(MSYS2,configure,make を利用)(Windows 上)
GSL は, 種々の関数,ベクトル,行列等の数値計算に関する C プログラムを集めたライブラリ.
GSL (GNU Scientific Library) のベクトル,行列に関する機能 (機能の一部を紹介)は 別の Web ページを見てください。
【目次】
【外部ページへのリンク】
ベクトルや行列に関する代表的な機能
- 最大値,最小値,整列(ソート) (20 章 「Statistics」)
- 乱数 (17 章 「Random Number Generation」)
- 乱数の分布 (19 章 「Random Number Distributions」)
- ベクトルと行列 (8 章 「Vectors and Matrices」)
- BLAS (12 章 「BLAS Support」)
- 固有値と固有ベクトル (14 章 「Eigensystems」)
前準備
MSYS2 の C/C++,make, tar のインストール(Windows 上)
MSYS2 は,ターミナル mintty とシェル bash と各種UNIX風コマンドの詰め合わせ.
Windows でのMSYS2 の MINGW64 環境のインストールと,LLVM(Clang, Flang, LLD, LLDB)のインストールと,GNU ツールチェーン類 (gcc, g++, gfortran, gdb, make, ninja, ccache, svn 等) のインストール(MSYS2 を利用 ): 別ページ »で説明
gsl のインストール(MSYS2 を使用)
- MSYS2 MINGW64 を実行する
スタートメニューで,「MSYS2」の下の「MSYS2 MINGW64」を選ぶ.
- make の確認
MSYS2 の make が表示されることを確認する
where make
- gsl のバージョン確認
- gsl のソースコードをダウンロード
cd $HOMEPATH rm -rf gsl rm -f gsl-latest.tar.gz curl -O https://ftp.gnu.org/pub/gnu/gsl/gsl-latest.tar.gz tar -xvzof gsl-latest.tar.gz
- configure の実行
gsl-2.7.1の「2.7.1」は,実際のディレクトリを指定すること.
「--prefix="C:/gsl」で「/」を使っているのは間違いではない(\を使うとエラーが出やすいため)
cd $HOMEPATH cd gsl-2.7.1 ./configure --prefix="/c/gsl"
- configure の実行結果の確認
エラーメッセージが出ていないこと
- Windows で gsl を ソースコードからビルドし、インストールする
make -j4 make install
- 実行結果の確認
* エラーメッセージが出ていないことを確認.
- テストプログラムの起動
次の操作を行い, 付属のテストプログラムを起動してみる.テストに失敗するとエラーメッセージが出る.詳細は,ファイル名 log に起動される.
make check
- 実行結果の確認
* エラーメッセージが出ていないことを確認.
- Windows の システム環境変数 LIB に次を追加する.
C:\gsl\lib
Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"LIB\", \"Machine\"); $oldpath += \";C:\gsl\lib\"; [System.Environment]::SetEnvironmentVariable(\"LIB\", $oldpath, \"Machine\")"
- Windows の システム環境変数 Pathに,C:\gsl\bin を追加することにより,パスを通す.
Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\gsl\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
gsl のプログラムをコンパイルし,実行する
eigen2.cを使用.
gcc による動作確認
Windows での確認手順と結果は次の通り