Provides: libexpat.so.1()(64bit) libexpat.so.1.5.2.debug()(64bit)
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /bin/sh libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libexpat.so.1()(64bit) rtld(GNU_HASH)
Processing files: expat-debuginfo-2.0.1-1
Provides: libexpat.so.1.5.2.debug()(64bit)
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
yum update失敗時のログ(一部)
--> Processing Dependency: libexpat.so.0()(64bit) for package: elinks
--> Processing Dependency: libexpat.so.0()(64bit) for package: fontconfig
--> Finished Dependency Resolution
Error: Missing Dependency: libexpat.so.0()(64bit) is needed by package git
Error: Missing Dependency: libexpat.so.0()(64bit) is needed by package wxBase
Error: Missing Dependency: libexpat.so.0()(64bit) is needed by package avahi
libexpat.so.1とlibexpat.so.0は、名前が言うところでは「APIが違うので互換性が無い」。3. 共有ライブラリの「3.1.1. 共有ライブラリ名」を参照。
soname は、「lib」というプレフィックス、ライブラリの名前、「.so」という語句で構成され、さらに後ろに、ピリオドと、インターフェース変更時に必ず増加するバージョン番号、が続きます
fedora掲示板のなんかをみると同じといっている人がいるがねぇ。(おいらは違うとおもうが)
まあ、ソースコードを追えばわかりますが、所詮expatのみの例外だろう。2.0.1からとまっているし。メンテはされているようだが。
で・・・どうすっかなぁ。
ひとつには、expat 2.0.1のyum/rpmのpackage名がexpatであること自体が間違い。so.0なlibraryのpackageがso.1のそれで上書きされてしまう。expat2とか言う名前にしないといけない。仮にそうしたところで、cElementTreeをbuildするときにso.1を使うようにしなけれなならない。expatのpackage名問題をcleanに解決したところでcElementTree側の問題はまったく解決しない。
so.1をso.0としてインストールするdirtyな解決はリスクがでかい。
やはりcElementTreeのbuildの過程がどうおかしいのか追跡する必要がある。
しかしなぁ、状態が悪いとくだらないことも気づかないものだ。
0 件のコメント:
コメントを投稿