[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:10378] [CAUTION] libc6 __register_frame_info problem



本家の debian-devel とか見ている人はわかっていると思いますが
libc6 2.0.7u-5 -> libc6 2.0.7u-6 の upgrade は注意が必要です。

2.0.7u-1か2あたりから egcsでコンパイルされるようになったようで
その時に __register_frame_info などが libm.so あたりに含まれて
しまっていました。( Depends: libc6 (>= 2.0.7u) になっていた原因)
このversionの libc6 で libm.so あたりを使うものを egcs で
compile すると本来 executable binary の方に含まれるはずの
__register_frame_info が libm.so に含まれているために
undefined (libm.soのをdynamic linkして使う)となってしまっていました。

で、結局 egcs(の使い方?)が悪いということで、2.0.7u-6 が作りなおされ
たのですが、そのままだと 2.0.7u-2〜5で作られたものの中には
__register_frame_info が undefined になっているものがいくつかあります。
それらは、libc6 を 2.0.7u-6 に upgrade すると動かなくなります。
# undefined symbol: __register_frame_info と言われる。

特に libstdc++2.9 あたりは apt が依存しているので注意が必要です。
libc6 を upgrade する前に libstdc++2.9-2.91.59-1 に upgrade して
おく必要があります。

その他にもいくつかあるはずなので、しばらくupgradeする時には
注意しておきましょう。

-- 
鵜飼文敏