JuliaPy / JuliaPy/PyCall.jl

libstdc++.so.6: version `GLIBCXX_3.4.30' not found

オープン
#999 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Julia
スター
1.5k
フォーク
186
PR マージ指標
30日以内にマージされた PR はありません

説明

I'm encountering an issue where:

1. A Conda package is built against libc 3.4.30 (in this case, python-casacore).
2. Conda ships with libc 3.4.30.
3. Running `ldd libcasa_casa.so` shows that casa is correctly linked to the Conda version of libc.
4. If I enter the Julia-managed conda (`~/.julia/3/bin/python`) and `import casacore.tables` it works fine.

BUT, when I `pyimport("casacore.tables")` I get the following error:


ImportError("/home/torrance/julia-1.7.3/bin/../lib/julia/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /home/torrance/.julia/conda/3/lib/python3.9/site-packages/casacore/tables/../../../../libcasa_tables.so.7)")

It looks like to me that when run in the context of Julia, the `pyimport` statement wants to preferentially link against the Julia supplied libc, and not the Conda supplied libc. Moreover, the Julia supplied libc is at version 3.4.29.

Is this choice to link against the Julia libc a deliberate choice? If so, how to we mitigate this kind of issue happening each time Conda and Julia libc versions aren't aligned?

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

このレポートにはソースファイルもテストも記載されていないため、まず `pyimport("casacore.tables")` の失敗を再現し、Julia が管理する Conda 環境で動作する `import casacore.tables` と比較する。PyCall が Julia に同梱された libstdc++ と Conda のライブラリのどちらを読み込むのかを追跡し、GLIBCXX のバージョン不一致に対する、説明され検証された軽減策を完了条件として定義する。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
anaconda, julia, python
領域
backend, operating-systems
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

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

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