freedesktop.org/intltool: bundled XML::Parser carries stale perl ABI (5.40 vs current 5.42)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 72/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 静か
- 技術スタック
- perl
- 領域
- build-system
調査の方向性
projects/freedesktop.org/intltool/package.yml から始め、そこにバンドルされている Perl XS 依存関係を現在の perl.org のレシピと比較します。versions rev-roll を行って intltool を再ビルドし、再度 Bottle 化してから、pkgx +freedesktop.org/intltool -- intltoolize --version を実行します。コマンドが Perl API mismatch なしでバージョンを出力すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Symptom
Downstream recipes that depend on intltool (autotrace, glib-based packages, etc.) hit the following at runtime of intltoolize / intltool-extract / intltool-update:
Perl API version v5.40.0 of Clone.c does not match v5.42.0
Root cause
projects/freedesktop.org/intltool/package.yml bundles a CPAN tree containing XS extensions (notably Clone, indirectly via XML::Parser) that were compiled against perl 5.40. Pantry's perl.org recipe has since moved to 5.42. The bottled XS .so files carry the older PERL_API_VERSION_STRING in their XS_VERSION_BOOTCHECK symbol, and load-time refuses to bind.
Surfaced by
#13111 `new(autotrace)` debugging session. Worked around in that recipe by cpanm-installing XML::Parser into a fresh prefix at build time, but that workaround would need to be repeated in every consumer of intltool — clearly the wrong layer.
Suggested fix
Either:
- Rebuild `freedesktop.org/intltool` against the current `perl.org` and re-bottle. Add a `versions:` rev-roll to invalidate the old bottle hash.
- Stop bundling XS deps with intltool; declare a perl `XML::Parser` module as a runtime dep (would need a new pantry recipe for the perl XS module).
Option 1 is the smaller, more immediate fix.
Reproduction
pkgx +freedesktop.org/intltool -- intltoolize --version
# expected: prints version
# actual: Perl API version v5.40.0 of Clone.c does not match v5.42.0
Related
- Same shape as #13105 (protobuf bottle abseil ABI drift): bottle carries date-stamped/version-stamped symbols baked into binaries.
- 主要言語
- C
- スター
- 199
- フォーク
- 140
- 平均マージ
- 4時間 37分
- マージ済み PR(30日)
- 130
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pkgxdev/pantry のほかの issue
-
❌ build issues: vtk.org=9.7.2対応中かも @jhheider が 1 日前に担当しました。 オープンbuild-failure
pkgxdev/pantry#14972 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 50/100
pkgxdev/pantry#14756 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
pkgxdev/pantry#14313 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
pkgxdev/pantry#13958 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
pkgxdev/pantry#13320 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
[compiler-rt] Rtsan-aarch64-NoInstTest: error: no such file or directory: 'NOTFOUND' (libatomic)オープンbuild-problem compiler-rt:rtsan platform:linux
難易度 2/5 1〜3時間 初心者へのやさしさ 63/100
llvm/llvm-project#239039 ·
メンテナーはふだん 1 日以内に返信
-
component:obi contribfest go test
難易度 2/5 1時間未満 初心者へのやさしさ 83/100
open-telemetry/opentelemetry-ebpf-instrumentation#4143 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
Bug :bug:
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
sonic-net/sonic-buildimage#30541 ·
メンテナーはふだん 1 日以内に返信