jpag-7 jpeg-6b collisions
$ emerge world してたらエラー出やがりました。
package media-libs/jpeg-6b-r9 NOT merged Detected file collison(s): /usr/lib/libjpeg.so.62
jpeg7 と jpeg6b を共存 (slot) させようとして失敗したエラーみたい。ちなみにこんな感じで確認してみると、 libjpeg.so.62 は media-libs/jpeg-7 で使っている…というかこれでしか使っていないのは確からしい。
$ equery b /usr/lib/libjpeg.so.62 とか $ portageq owners / /usr/lib/libjpeg.so.62
いろいろ検索していると、 jpeg-compat というのを使うといいらしいんですが、$ eix jpeg-compat とかしてもそんなものは見つからず。さらにもっと調べてみると、実はこの jpeg-compat 、http://gentoo-portage.com/media-libs/jpeg/ChangeLog#ptabs を見る限り media-libs/jpeg-6b-r9 そのものだったようで、ちょうど数日前に上がってきたものらしい。 jpeg-7 には変更かかってないのにじゃぁなんで collision 起こしてるんだろうと思わなくもないんですが…。
結果的には、こんな感じでなおります。
$ sudo emerge --oneshot =jpeg-7 $ sudo emerge -vND world
media-libs/jpeg-7 をコンパイルしなおしただけです。ログで libjpeg.so に関するあたりに注目すると分かりますが、配置が変わります。この後の emerge で、必要とされている media-libs/jpeg-6b-r9 はちゃんと共存インストールされます。(自分の場合は emerge --oneshot =jpeg-6b-r9 として単体で確認してしまいましたが)
もしくは以下でも同様のことが出来るでしょうね。むしろこちらの方が Gentoo 的には本筋?
$ sudo revdep-rebuild --library libjpeg.so.62 $ sudo emerge -vND world