梅本です。 >>> Wed, 18 Apr 2007 19:15:17 +0900 の刻に「higuchi」、すなわち >>> Higuchi Masahiro <[EMAIL PROTECTED]> 氏曰く
higuchi> sysutils/apcupsdが、いまインストールされているのより新しいバージョンの higuchi> net-mgmt/net-snmpをインストールしたいのだけど、その場合は、 higuchi> net-mgmt/net-snmpで、make deinstall, make reinstallを実行してください。 higuchi> もし、古いバージョンのnet-mgmt/net-snmpを削除してから、新しいバージョンの higuchi> net-mgmt/net-snmpで上書きしたいのなら、FORCE_PKG_REGISTERをmake installの higuchi> オプションにつけてください。 higuchi> という意味です。 依存関係が取れてないのかと思って確認しましたが、ports tree では整合性 は取れているようです。net-snmp をインストールした後に net-snmp が更新さ れて、libnetsnmp の SHLIB_VERSION が上がったのでしょう。ちなみに、最新 の ports tree では libnetsnmp.10 となっています。 higuchi> apcupsdの場合ではなかったかもしれませんが、この例でいうと、 higuchi> net-mgmt/net-snmpがsysutils/apcupsdが求めているものより新しすぎると higuchi> apcupsdが /usr/local/lib/libnetsnmp.so.*がないよ、と実行時エラーを出す higuchi> ような場合があります。 higuchi> そういう場合はどうすればいいんでしょうか? > みなさん higuchi> 私は、シンボリックリンクで逃げています. higuchi> # ln -s /usr/local/lib/libintl.so.8 /usr/local/lib/libintl.so.6 higuchi> のように... 一般的に、バイナリ互換性が失われるような変更があった際に SHLIB_VERSION を上げます。ですので、シンボリックリンクで逃げるのは危険 です。 依存する ports (net-snmp と net-snmp が依存している ports) を最新の状 態にした上で、希望の port (apcupsd) をインストールしましょう。 ports-mgmt/portupgrade がインストールされているなら、 portupgrade -R net-snmp portinstall sysutils/apcupsd で良いと思います。 なお、今回のケースのように SHLIB_VERSION が上がっている場合、 既にイン ストールされている net-snmp を単純に削除して入れ直すと、古いライブラリ がなくなってしまい、もし net-snmp に依存している ports をインストールし ていた場合に、その ports が動かなくなってしまう可能性がありますので、注 意が必要です。portupgrade で上げると、昔のライブラリを残してくれますの で、安全です。 -- 梅本 肇 @ インターネット互助会横浜 http://www.imasy.org/~ume/ [EMAIL PROTECTED] [EMAIL PROTECTED],jp.}FreeBSD.org プログラムは書いた人の意図ではなく書かれた通り動く I hate Modula-3 :-)