code-saturne / code-saturne/code_saturne

macOS requires setting of RPATH in executable solver

オープン
#142 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。