めもらんだむ

個人的な備忘録。Julia言語やPythonに関することが中心になると思われます。

FortranからPythonを呼ぶ(その2):Intelコンパイラとforpyを組み合わせる

試した環境

mac OS 12.6
ifort (IFORT) 2021.7.0 20220726
Python 3.9.12 :: Intel Corporation

gfortranを使っているQiitaの記事を参考に試してみたところ、いくつか対策が必要になった。
※Qiitaの記事
qiita.com

具体的には、次の3点。

  • forpyのモジュールをリンクする際に、呼ぶPythonのライブラリのパスとして-L/opt/intel/oneapi/intelpython/latest/libを追加しないと、libpython3.9.dynalibがリンクできないために最終的な実行形式ファイルができない
  • 実行ファイルを走らせると、リンクできるはずの上記のライブラリが見つからないと言い出すので、/usr/local/libにlibpython3.9.dynalibのシンボリックリンクを追加
  • 環境変数PYTHONHOMEを設定しないと、python本体を見つけられないらしいので、PYTHONHOMEとして/opt/intel/oneapi/intelpython/latestを設定

2番めのシンボリックリンクを作るところは、付け焼き刃過ぎて後に禍根を残しそう。
人には薦めがたいやり方なので、もっといいやり方を探したい。