Fink

F.A.Q. - 7. コンパイルの問題 - 特定のバージョン

質問7.1: sed を使うパッケージビルドが失敗します。

回答: これはログインスクリプト (例 ~/.cshrc) が "echo Hello" であるとか xttitle といったことをターミナルに書くと発生します。 いちばん簡単な解決方法は、問題の行をコメントアウトすることです。

もし echo を残しておきたいなら、次のようにすることもできます:

if ( $?prompt) then
echo Hello
endif

質問7.2: Fink の XFree86 パッケージに切替えたいけれど、 system-xfree86 とコンフリクトしているため xfree86-base | xfree86 がインストールできません。

回答: どのような X11 でも、残念なことに、 /usr/X11R6 にインストールしなければなりません。 Fink の xfree86-basexfree86-rootless もここにインストールします。 しかし、 Fink はデータベースに無いファイルは削除しないため、 Fink 以外の X11 を自動的に置き換えることはありません。

という訳で、:

注記: 10.2.x と 最新版の Fink (>= 0.16.2) のユーザーと 10.3.x ユーザーはステップ 1 を飛ばしてください (実行しても何も起きませんが)。

1. system-xfree86 を削除します。 X11 に依存するパッケージがない場合、これは単純です。 しかし、 X11 に依存するパッケージがインストールされていることの方が多いでしょう。 これを全てアンインストールする代わりに、次のコマンドをうちます:

sudo dpkg --remove --force-depends system-xfree86

これで、他のパッケージは触らずに削除します。 system-xfree86 がなければステップ 3 に進みます。

2. XFree86 を全て手動で削除する。これは:

sudo rm -rf /Applications/XDarwin.app /usr/X11R6 /etc/X11

Apple X11 から切替える場合、 X11 アプリケーションも削除します。

3. XFree86-4.2.1 を入れるには、 Fink の xfree86-basexfree86-rootless をインストールします。 これは、ソースからなら "fink install" で、 バイナリからなら "apt-get install" または dselect です。

-あるいは-

3a. XFree86-4.3.x 以降を入れるには、 Fink の xfree86 パッケージを、 "fink install xfree86" でインストールします。 最新版 (2004年5月25日時点で XFree86-4.4.x) はまだバイナリ版がなく、 unstable ツリーのみなので、 [unstable パッケージのインストール を参照]

質問7.3: non-threaded 版の Fink XFree86 パッケージから threaded 版 (またはその逆) にはどうしたら切替えることができますか?

回答: Fink 版の xfree86 を使っていて、 threaded と non-threaded を切替えたいのなら、 手動で古いバージョンを削除する必要があります。 これは、コマンドラインで:

sudo dpkg -r --force-depends xfree86-base
sudo dpkg -r --force-depends xfree86-shlibs
sudo dpkg -r --force-depends xfree86-rootless
sudo dpkg -r --force-depends xfree86-rootless-shlibs

threaded 版の場合:

sudo dpkg -r --force-depends xfree86-base-threaded
sudo dpkg -r --force-depends xfree86-shlibs-threaded
sudo dpkg -r --force-depends xfree86-rootless-threaded
sudo dpkg -r --force-depends xfree86-rootless-threaded-shlibs

FinkCommander でもパッケージを削除することができます。 ソース画面で、パッケージを選択し、次に Source Menu で "Force Remove." を選択します。

system-xfree86 を使っている場合、 前の質問を参照して削除してください。

希望するバージョンの xfree86 をインストールします:

xfree86-basexfree86-rootless

xfree86-base-threadedxfree86-rootless-threaded

普通は、ソースインストールは: "fink install" で、バイナリインストールは: "apt-get install" または dselect です。

質問7.4: libiconv が更新できません。

回答: 下記の形式のエラーでしたら:

libtool: link: cannot find the library `/opt/sw/lib/libiconv.la'

以下のように実行して直すことが出来ます

fink remove gettext-dev
fink install libiconv

質問7.5: パッケージがインストールできません。c++filt がないからです。 これはどこにありますか?

回答: もし、Tiger にアップデート後にエラーが

xgcc: installation problem, cannot exec `c++filt': No such file or directory

とでたら、以下のようにします:

  • (Tiger のインストーラから) BSD.pkg をインストールします。 /usr/bin/c++filt が現れるまで何度もインストールしてみてください。
  • 10.4: ターミナルで、
    /Developer/Tools/uninstall-devtools.pl
    と実行し、古い Developer Tools を削除します。 次に、 XCode (2.4.1 以降) をインストールします。
  • 10.5: ターミナルで、
    /Developer/Tools/uninstall-devtools.pl
    と実行し、古い Developer Tools を削除します。 次に、 XCode (2.3 以降) をインストールします。

質問7.6: Fink が、 gettext の依存性に矛盾があるとだけ表示し、更新してくれません。

回答: fink selfupdate を実行して最新にした後、 fink update gettext-tools としてみてください。 古いバージョンの gettext-toolsgettext の更新を妨害していた可能性があります。

質問7.7: OS 10.5 で gtk+2 がインストールできません。

回答: これは、典型的には、ライブラリがないということです。例えば: /usr/X11/lib/libXrandr.2.0.0.dylib/usr/X11/lib/libXdamage.1.1.0.dylib (あるいは /usr/X11/lib/ にある他のバージョンのライブラリ)

現状では、ベストな解決策は XCode 3.1.3 以降をインストールすることです。

質問7.8: ここに載っていないパッケージで問題があります。

回答: パッケージの問題は変わりやすいので、Fink wiki に情報を載せることにいたしました。 Package issues page をご確認ください。 (訳注: wiki の性質上、wiki は英語版のみであり、翻訳の予定はありません。なお、一部日本語での情報もあります)

次: 8. パッケージ使用上の問題 - 一般