GLPK (GNU Linear Programming Kit) のインストール(ソースコードを用いたインストール)(MSYS2,configure,make を利用)(Windows 上)

GLPK は, 線形計画法等の機能を持ったソフトウェア.

4.62 以上はうまくインストールできなかったので,4.61 をインストールする

目次

Linux での GLPK (GNU Linear Programming Kit) をビルドとインストールについては, 別のWebページで説明する.

前準備

MSYS2 の C/C++,make, curl のインストール(Windows 上)

MSYS2 は,ターミナル minttyシェル bash各種UNIX風コマンドの詰め合わせ.

Windows でのMSYS2 の MINGW64 環境のインストールと,LLVM(Clang, Flang, LLD, LLDB)のインストールと,GNU ツールチェーン類 (gcc, g++, gfortran, gdb, make, ninja, ccache, svn 等) のインストール(MSYS2 を利用 ): 別ページ »で説明

glpk のインストール(MSYS2 を使用)

  1. MSYS2 MSYS を実行する

    スタートメニューで,「MSYS2」の下の「MSYS2 MSYS」を選ぶ.

  2. make の確認

    MSYS2 の make が表示されることを確認する

    where make
    
  3. glpk のバージョン確認

    https://ftp.gnu.org/pub/gnu/glpk/

  4. glpk の作業ディレクトリを削除する(以前作業したときのものが残っていたら削除したいため)
    C:
    cd $HOMEPATH
    rm -rf glpk-4.61
    
  5. glpk のソースコードをダウンロード
    cd $HOMEPATH
    rm -f glpk-4.61.tar.gz
    curl -O https://ftp.gnu.org/pub/gnu/glpk/glpk-4.61.tar.gz
    tar -xvzof glpk-4.61.tar.gz
    
  6. configure の実行

    --prefix="C:/glpk」で「/」を使っているのは間違いではない(\を使うとエラーが出やすいため)

    cd $HOMEPATH
    cd glpk-4.61
    ./configure --prefix="/c/glpk"
    
  7. configure の実行結果の確認

    エラーメッセージが出ていないこと

  8. Windows で glpk を ソースコードからビルドし、インストールする
    make -j4
    make install
    
  9. 実行結果の確認

    * エラーメッセージが出ていないことを確認.

  10. テストプログラムの起動

    次の操作を行い, 付属のテストプログラムを起動してみる.テストに失敗するとエラーメッセージが出る.詳細は,ファイル名 log に起動される.

    make check
    
  11. Windowsシステム環境変数 LIB に次を追加する.

    C:\glpk\lib

    Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)

    次のコマンドを実行

    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"LIB\", \"Machine\"); $oldpath += \";C:\glpk\lib\"; [System.Environment]::SetEnvironmentVariable(\"LIB\", $oldpath, \"Machine\")"
    
  12. Windowsシステム環境変数 Pathに,C:\glpk\bin追加することにより,パスを通す

    Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)

    次のコマンドを実行

    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\glpk\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"