Form ( https://github.com/vermaseren/form ) と FormTracer (https://arxiv.org/abs/1610.09331 or https://github.com/FormTracer/FormTracer )をWindows11にインストールする際,だいぶ沼ったので備忘録.
Cygwin -> apt-cyg (+make等) -> Form -> FormTracerの順でインストールしていく.
これらすべてをインストールしたことがないことを前提とする.
Cygwinのインストール
- https://www.cygwin.com/ から setup-x86_64.exe をダウンロードして実行.
- 適当にポチポチして進める.
- 途中でパッケージのインストール画面になるので,ここでwgetをインストールしておく.(PendingのところをFullにしてから,検索窓にwgetといれてでてくる"wget"の欄にskipになっているところを最新のバージョンにする.)
- 同様にしてlibguile3.0_1もインストールしておく.
- あとは適当にポチポチしてインストール完了画面まで行けば完了.
apt-cyg + make等のインストール
( https://qiita.com/FSMS/items/68b5956301d987d1be2b と https://github.com/vermaseren/form/wiki/Installation を参照.)
- さっきインストールしたCygwinを実行する.
- ターミナルが開くので,まず
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
というコマンドを実行して,apt-cygをインストールする.
3. さらに
chmod 755 apt-cyg
mv apt-cyg /usr/local/bin/
というコマンドを実行して,apt-cygを/usr/local/bin/へ移動させる.
4. 最後に
apt-cyg update
apt-cyg install gcc-g++ libgmp-devel make ruby ruby-test-unit zlib-devel
というコマンドを実行して,apt-cygのアップデートを行った上でForm(Tracer)のインストールに必要なパッケージをインストールする.
Formのインストール
( https://github.com/vermaseren/form/wiki/Installation を参照.)
- Formの公式HP( https://github.com/vermaseren/form/releases )からFormの最新バージョン(記事作成時点では4.3.1)の"form-<バージョン>.tar.gz"をダウンロードする.
- 解凍して適当なところに置く."form-<バージョン>"というフォルダができる.
- Cygwinを実行し,さっき作った"form-<バージョン>"下に移動し,以下のコマンドを実行する.エラーを吐かなければFormのインストールは完了.
./configure
make
make check
make install
FormTracerのインストール
- 適当なMathematicaノートブック(.nbファイル)を作成し,
Import["https://raw.githubusercontent.com/FormTracer/FormTracer/master/src/FormTracerInstaller.m"]
という内容のセルを作って実行する.
2. "cygwin1.dll"が見つからないとか"form.exe"が実行できないとかいうエラーが出るので,とりあえずキャンセルを押しまくる.
3. 当然インストールに失敗しているので以下のように対処すれば完了.
"cygwin1.dll"が見つからないという内容のエラー
この時点で"C:\Users\UserName\AppData\Roaming\Mathematica\Application\FormTracer"といフォルダができているはず.
ここに"C:\cygwin64\bin"内にある"cygwin1.dll"をコピーする.(すでにあるものは上書きしてO.K..)
もしFormTracerやcygwinのインストール先が違ったら,対応するものを探して同様にすれば大丈夫.
"form.exe"が実行できないという内容のエラー
- まず"C:\cygwin64\usr\local\bin"内にある
"form.exe"を,"C:\Users\UserName\AppData\Roaming\Mathematica\Application\FormTracer"にある"form.exe"へコピーして上書きする. - 次に上書きした
"C:\Users\UserName\AppData\Roaming\Mathematica\Application\FormTracer"内の"form.exe"を実行する. - 実行すると"*.dllが見つかりません."という内容のエラーを吐きまくるので,その.dllファイルを探してきて,
"C:\Users\UserName\AppData\Roaming\Mathematica\Application\FormTracer"内にコピーする.
(参考までに,筆者は"cygz.dll","cygstdc++-6.dll","cyggmp-10.dll","cyggcc_s-seh-1.dll"がないと言われたが,これらは"C:\cygwin64\bin"内にあった.)
4."C:\Users\UserName\AppData\Roaming\Mathematica\Application\FormTracer"内の
"form.exe"を実行する.コマンドプロンプトが一瞬開き,エラーを吐かずに閉じれば対処完了.
FormとFormTracerのテスト
( https://arxiv.org/abs/1610.09331 )を参照
- 適当なMathematicaノートブックを作り
Needs["FormTracer`"]
という内容のセルを作って実行する.
2. ロードメッセージの最後の行に,
Using FORM <バージョン> (<リリース日時>) 64-bits
と出力されていれば,Formが正しくインストールされていることが確認できる.
3. さらに
DefineLorentzTensors[deltaLorentz[mu, nu], vec[p, mu], sp[p, q],eps[], deltaDirac[i, j], gamma[mu, i, j], gamma5[i, j]];
FormTrace[vec[p,nu]vec[q,rho]gamma[mu, i1,i2]
gamma[nu,i2,i3]gamma[rho,i3,i4]gamma[mu,i4,i1]]
という内容のセルを作成し実行する.
4. 結果として
16 sp[p,q]
が出力されれば,FormTracerが正しくインストールされていることが確認できる.