clapack は,元々 FORTRAN で書かれていた LAPACK の,C言語版 (C 言語に書き直されたもの)である. lapack は,行列に関する種々の問題(連立1次方程式,固有値問題,などなど多数)を解く機能を持つソフトウェア.BLAS の機能を使う.
clapack のインストールは,複数の方法がある.
以下,Windows で,clapack をソースコードからビルドして,インストールする手順をスクリーンショット等で説明する.ビルドには マイクロソフト C++ ビルドツールを使用.
【目次】
Windows での Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022) のインストール: 別ページ »で説明している.
次のコマンドを実行
if not exist c:\vcpkg ( cd c:\ rmdir /s /q vcpkg git clone https://github.com/microsoft/vcpkg cd c:\vcpkg git pull .\bootstrap-vcpkg.bat .\vcpkg update .\vcpkg integrate install powershell -command "[System.Environment]::SetEnvironmentVariable(\"VCPKG_ROOT\", \"c:\vcpkg\", \"Machine\")" powershell -command "[System.Environment]::SetEnvironmentVariable(\"VCPKG_DEFAULT_TRIPLET\", \"x64-windows\", \"Machine\")" powershell -command "[System.Environment]::SetEnvironmentVariable(\"CMAKE_TOOLCHAIN_FILE\", \"c:/vcpkg/scripts/buildsystems/vcpkg.cmake\", \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"LIB\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\lib\"; [System.Environment]::SetEnvironmentVariable(\"LIB\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"INCLUDE\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\include\"; [System.Environment]::SetEnvironmentVariable(\"INCLUDE\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\vcpkg\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" )
次のコマンドを実行
c:\vcpkg\vcpkg search clapack c:\vcpkg\vcpkg install --triplet x64-windows blas clapack lapack lapack-reference openblas[threads] powershell -command "[System.Environment]::SetEnvironmentVariable(\"OpenBLAS\", \"C:\vcpkg\installed\x64-windows\", \"Machine\")" powershell -command "[System.Environment]::SetEnvironmentVariable(\"OpenBLAS_ROOT\", \"C:\vcpkg\installed\x64-windows\", \"Machine\")"
【サイト内の関連ページ】
Windows での Visual Studio Community 2022 のインストール: 別ページ »で説明している.なお,Visual Studio には,ビルドツール(Build Tools)が含まれている.
Windows での ビルドツール for Visual Studio 2022 (Build Tools for Visual Studio 2022) のインストール: 別ページ »で説明している.
【関連する外部ページ】
Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.
【サイト内の関連ページ】
Windows での Git のインストール: 別ページ »で説明している.
【関連する外部ページ】
Git の公式ページ: https://git-scm.com/
CMake はビルドツールである.
【サイト内の関連ページ】
Windows での cmake のインストール: 別ページ »で説明している.
【関連する外部ページ】
CMake の公式ダウンロードページ: https://cmake.org/download/
7-Zip 23.01 のインストール
7-Zipは,ファイルの圧縮や展開のツール.さまざまなフォーマットに対応している.
Windows では, コマンドプロンプトを管理者として開き, 次のコマンドを実行することにより, 7-Zip 23.01 のインストールを行うことができる.
mkdir %HOMEPATH%\7zip cd %HOMEPATH%\7zip curl -O https://www.7-zip.org/a/7z2301-x64.exe .\7z2301-x64.exe powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\7-Zip\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
【サイト内の関連ページ】
Windows での 7-Zip のインストール: 別ページ »で説明している.
【関連する外部ページ】
7-Zip の公式ページ: https://sevenzip.osdn.jp/
コマンドプロンプトを管理者として実行: 別ページ »で説明
C: cd %HOMEPATH% rmdir /s /q clapack-3.2.1-CMAKE
次のコマンドを実行.
cd %HOMEPATH% del clapack-3.2.1-CMAKE.tgz del clapack-3.2.1-CMAKE.tar curl -O https://icl.utk.edu/lapack-for-windows/clapack/clapack-3.2.1-CMAKE.tgz "c:\Program Files\7-Zip\7z.exe" x clapack-3.2.1-CMAKE.tgz rmdir /s /q clapack-3.2.1-CMAKE "c:\Program Files\7-Zip\7z.exe" x clapack-3.2.1-CMAKE.tar
cmake のオプションの 「Visual Studio 16 2019」のところは, 使用する Visual Studio のバージョンにあわせること. Visual Studio 2022 のときは,「Visual Studio 17 2022」. Visual Studio 2019 のときは,「Visual Studio 16 2019」
cd %HOMEPATH% cd clapack-3.2.1-CMAKE rmdir /s /q build mkdir build cd build del CMakeCache.txt cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 ^ -DUSE_BLAS_WRAP="yes" ^ -DCMAKE_INSTALL_PREFIX="c:/clapack-3.2.1-CMAKE"
エラーメッセージが出ていないこと
警告メッセージは無視する.
エラーメッセージが出ていないこと
dir "c:\clapack-3.2.1-CMAKE"
dir "c:\clapack-3.2.1-CMAKE\lib"
cd %HOMEPATH% curl -O https://www.kkaneko.jp/tools/win/eig_lapack.c cl /I"C:\clapack-3.2.1-CMAKE\include" eig_lapack.c /link /LIBPATH:"C:\clapack-3.2.1-CMAKE\lib" lapack.lib libf2c.lib blas.lib