落穂拾い

Gleanings in my life

【Gentoo】 slang と ncurses

2011年08月03日 01時18分45秒 | Linux

slang と ncurses という二つのよく似た機能を提供するライブラリがある。 今日、emerge --sync して emerge -auv --deep world してみたら、下記のようなエラーが発生。

!!! Problem resolving dependencies for app-misc/mc from @selected
... done!

!!! The ebuild selected to satisfy "app-misc/mc" has unmet requirements.
- app-misc/mc-4.7.5.2::gentoo USE="X edit gpm (multilib) ncurses nls slang -samba"

  The following REQUIRED_USE flag constraints are unsatisfied:
    exactly-one-of ( ncurses slang )

(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

要は、 mc (midnight commander)をインストールするには、ncurses と slang のどちらか一方だけを選べ、とのことらしい。目的が同じライブラリなので、それも至極当然のことだ。私の場合、両方とも USE フラグに登録してあったのが問題なのだ。 というわけで、slang と ncurses のどちらかを USE フラグから外すことにした。equery d で依存関係を調べてみると、ncurses に depend しているものは多いが、slang に depend しているのは、下記の通り、3つしかなかった。

 * These packages depend on slang:
app-editors/nano-2.2.5 (slang ? sys-libs/slang)
app-misc/mc-4.7.0.3 (slang ? >=sys-libs/slang-2)
sys-apps/util-linux-2.19.1 (slang ? sys-libs/slang)

そして、equery u nano とかしてそれぞれの USE フラグをチェックすると、いずれも ncurses も評価するようになっている。というわけで、slang を USE フラグから外して、アップデートしてやればよい。

emerge -auv --update --newuse world

解決である。


コメントを投稿