code-saturne / code-saturne/code_saturne
macOS requires setting of RPATH in executable solver
- 主要言語
- C++
- スター
- 307
- フォーク
- 102
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
On macOS, and I suppose other BSD systems, one has to specify the `RPATH` for any third-party library used during the building of the solver because these libraries may be installed in various non-standard locations e.g. when using the Spack package manager to build the third-party libraries for `code_saturne`. In order to make this work I modified file `python/code_saturne/base/cs_case_domain.py` so that after the building of the solver is completed the code calls the `install_name_tool `utility that macOS has to add the required RPATHs to the executable.
The modification is changing the code starting from line 1007 checking if the platform is macOS and then calling this utility for each library path needed (only unique values should be used).
The modified file is attached to this issue report and it works properly on my system.
[cs_case_domain.py.zip](https://github.com/user-attachments/files/18508964/cs_case_domain.py.zip)
コントリビューションガイド
調査の方向性
python/code_saturne/base/cs_case_domain.py の 1007 行目付近、solver のビルドが完了する箇所から始めます。添付された変更と macOS の install_name_tool ユーティリティを確認し、必要なライブラリパスの収集方法と重複排除方法も確認します。macOS 上の標準外の場所にインストールされたサードパーティライブラリに対して、ビルドされた solver に必要な RPATHs が設定されていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- macos, python
- 領域
- build-system
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100