F.A.Q. - 8. パッケージ使用上の問題 - 一般
質問8.1: このようなメッセージが大量に出ます。 "locale not supported by C library" これはまずいことですか?
回答: まずいことという訳ではありません。 これはデフォルトの英語メッセージや日付フォーマットなどを使うという意味です。 これ以外はプログラムは普通に動作します。 X11 のドキュメントに、 詳細 があります。
質問8.2: いきなり変なユーザーがシステムに現れました。 ユーザー名は、 "mysql", "pgsql", "games" などです。 こいつらはどこから来たのですか?
回答: Fink を使って passwd というパッケージをインストールしたのでしょう。 passwd は、セキュリティー上の問題からいくつかのユーザーを追加します。 Unix システムでは、ファイルやプロセスの "所有者" を使ってパーミッションやセキュリティーをチューニングするのです。 Apache や MySQL のようなプログラムは、"所有者" が必要で、これらの daemon に root を割り当てると安全ではなくなります。 (Apache に、システム上の全てのファイルへいきなり書き込み権限が与えられたと思ってみてください) このため、 passwd パッケージはユーザーを必要とするパッケージにユーザーを追加するのです。
急にユーザーが "システム環境設定: ユーザー" ペイン (10.2.x) あるいは "システム環境設定: アカウント" ペイン (10.3.x) に現れるのは不安ですが、削除したい気持ちを押えてください。
- 第一に、あなたはユーザーを利用するパッケージをインストールする選択をしたのです。 ユーザーを削除したら意味がありませんよね?
- 実際、 Mac OS X には既にユーザーが追加されていますが、気づいていないのです。
www, daemon, nobody などがそうです。
これらのユーザーは、ある種のサービスを行なう Unix 流のやり方なのです。
passwd パッケージは、 Apple が提供していないユーザーを追加するだけです。
Apple がインストールしたユーザーは、 NetInfo マネージャ.app で見ることができます:
niutil -list . /users
- このユーザーを削除することにした場合、十分気をつけてください。
"システム環境設定: ユーザー" ペイン (10.2.x) あるいは
"システム環境設定: アカウント" ペイン (10.3.x)
から追加したユーザーのファイルには、適当な管理者権限が割り振られます。
管理者アカウントのパーミッションが混乱するという報告があります。
これはシステム環境設定のバグで、 Apple には報告されています。
安全にユーザーを削除するには、 NetInfo マネージャ.app を使うか、ターミナルから
niutil
コマンドを入力します。 NetInfo の詳細については、niutil
の man ページを読んでください。
passwd パッケージのインストール中に、Fink がユーザーを追加するか尋ねますので、実際はいきなりではないはずです。
質問8.3: Fink でインストールしたソフトウェアを使って、自分で何かをコンパイルするにはどうしたらいいのですか?
回答: Fink 以外でなにかをコンパイルしようとする場合、 コンパイラとリンカに、Fink がインストールしたライブラリやヘッダがどこにあるのかを伝える必要があります。 また、コンパイラにターゲットのアーキテクチャーを使うよう伝える必要もあります。 標準的な configure/make を使用するパッケージの場合、 以下の環境変数を設定する必要があります:
-bash-
export CFLAGS=-I/opt/sw/include export LDFLAGS=-L/opt/sw/lib export CXXFLAGS=$CFLAGS export CPPFLAGS=$CXXFLAGS export ACLOCAL_FLAGS="-I /opt/sw/share/aclocal" export PKG_CONFIG_PATH="/opt/sw/lib/pkgconfig" export PATH=/opt/sw/var/lib/fink/path-prefix-clang:$PATH export MACOSX_DEPLOYMENT_TARGET=10.9
-tcsh-
setenv CFLAGS -I/opt/sw/include setenv LDFLAGS -L/opt/sw/lib setenv CXXFLAGS $CFLAGS setenv CPPFLAGS $CXXFLAGS setenv ACLOCAL_FLAGS "-I /opt/sw/share/aclocal" setenv PKG_CONFIG_PATH "/opt/sw/lib/pkgconfig" setenv PATH /opt/sw/var/lib/fink/path-prefix-clang:$PATH setenv MACOSX_DEPLOYMENT_TARGET 10.9
(実行 OS が 10.9 以降の場合)
これを起動ファイル (e.g. .cshrc
| .profile
) に入れておくと、自動的に設定され、最も簡単です。
これらの環境設定を使用しないパッケージの場合、コンパイル行に
"-I/opt/sw/include" (ヘッダファイル) と "-L/opt/sw/lib" (ライブラリ) を追加する必要があるでしょう。
パッケージによっては、同様だが非標準な EXTRA_CFLAGS or --with-qt-dir= などのオプションを使っているかもしれません。
"./configure --help" をすることで、こうした configure オプションを知ることができます。
また、ライブラリパッケージなどは、 対応する開発ヘッダ (e.g. foo-1.0-1-dev) をインストールする必要があるかもしれません。
質問8.4: Apple X11 の Application メニューを使うと、 Fink からインストールしたアプリケーションの起動できません。
回答: Apple X11 は Fink の環境設定を認識しません。 このため、Applications メニューも PATH を認識せず、 Fink アプリケーションを探すことができません。 解決するには、 Fink からインストールしたアプリケーションに:
source /opt/sw/bin/init.sh ;
と追加します。例えば、 Fink からインストールした GIMP の場合、 GIMP の Command 欄に:
source /opt/sw/bin/init.sh ; gimp
と入力します。
あるいは、 .xinitrc ファイル (自分のディレクトリ内の) の一行目に:
source /opt/sw/bin/init.sh
と追加します。
質問8.5: X11 の種類が多くて迷っています。 Apple X11, XFree86 などなど、どれをインストールしたら良いのですか?
回答: いずれも (XFree86 のコードをベースとした) XFree86 の派生ですが、細かな違いがあります。 Jaguar と Panther では選択肢も変わります。
Panther では:
-
Apple X11 (3枚目のディスク): X11 関連のプログラムをコンパイルや Fink でソースインストールする場合、 X11SDK (XCode ディスク) も忘れずにインストールする
-
4.4.x built via Fink:
xfree86
とxfree86-shlibs
のパッケージをインストールする -
X.org built via Fink:
xorg
とxorg-shlibs
のパッケージをインストールする
Jaguar では、一番使われていて Fink パッケージが使えるのは:
-
Fink でビルドする 4.2.x:
xfree86-base
とxfree86-rootless
またはxfree86-base-threaded
とxfree86-rootless-threaded
(および、それぞれの-shlibs
) をインストール -
Fink でビルドする 4.3.x:
xfree86
とxfree86-shlibs
パッケージをインストール -
Apple の 4.2.x (User+SDK パッケージがインストールされている場合):
system-xfree86
パッケージが自動的にインストールされる。 ユーザーはインストールを行わない (注記: Jaguar 用の Apple X11 Public Beta は既に入手不可能です。 この方法は以前入手した人のみに有効です。)
これ以外の選択は、 Running X11 document を参照してください。
質問8.6: アプリケーションを実行しようとすると、 "cannot open display:" というメッセージがでます。 どうしたら良いですか?
回答: このエラーは、システムが X ディスプレイと通信できていないことを意味します。 以下を確認してください:
1. X (Apple's X11, XFree86, ...) を起動。
2. DISPLAY 環境変数が設定されていることを確認する。デフォルトに設定された X では、 tcsh では:
setenv DISPLAY :0
bash の場合:
export DISPLAY=:0
と入力します。
質問8.7: 自分の好きなプログラムが Fink にありません。 Fink に推薦したいのですが、どうしたら良いですか?
回答: Package Request Tracker の Fink プロジェクトページから推薦してください。
注記: SourceFourge の ID が必要です。
質問8.8:
system-*
"virtual packages" というのを時々見かけますが、
インストールも削除もできません。
これはいったいなんですか?
回答:
system-perl
のような名前のパッケージは代替パッケージです。
これは、実際にはファイル等を含んでいる訳ではなく、
fink 外で手動でインストールされたプログラムを fink に伝えるための仕組みとして存在します。
この仕組みは10.3 ディストリビューションから導入されました。 ほとんどの代替パッケージは自分でインストールや削除できるものではありません。 その代わりに、手動でインストールされたプログラム一覧を元に fink プログラム自体が作成する "Virtual Packages" パッケージデータ構造となっています。 fink は、それぞれのパッケージについて特定の場所の特定のファイルを確認し、 見つかった場合はバーチャルパッケージがインストール済みと判断します。
fink が認識しているインストール済みの一覧は、
fink-virtual-pkgs
を実行することで見ることができます。
--debug
フラグを追加すると、具体的にどのファイルを見ているのかという診断情報も確認できます。
任意のプログラムを (fink 外で) インストールし、 fink にこれを認識させる仕組みは残念ながらありません。 configure やコンパイルフラグ、パス名などを確認するのは非常に困難なためです。
以下は、 fink が定義するバーチャルパッケージのうち最も重要なものです (fink-0.19.2 時点) :
- system-perl: [virtual package representing perl]
これの実体は
/usr/bin/perl
で、デフォルトの OS X インストールの一部になっています。 このパッケージは、 perl インタープリータのバージョン X.X.X であるsystem-perlXXX
とperlXXX-core
も提供します。 - system-javaXXX: [virtual package representing Java X.X.X]
これの実体は Java Runtime Environment で、 OS X (および Apple Software Update) の一部です。 詳細は、 Apple の Java のページ をご覧ください。
- system-javaXXX-dev: [virtual package representing Java X.X.X development headers]
これの実体は Java SDK で、 connect.apple.com (登録が必要) からダウンロードし、インストールする必要があります。 Java Runtime Environment を更新した場合、 SDK は自動的に更新されません (削除されることもあります!) 。 Runtime Environment をインストールや更新した場合、 SDK を確認 (し、必要に応じてダウンロード、インストール) してください。 この FAQ も合わせてお読みください。
- system-java3d: [virtual package representing Java3D]
- system-javaai: [virtual package representing Java Advanced Imaging]
これの実体は、 Java の 3D 画像処理の機能拡張です。 Apple からダウンロードし、インストールします。 Apple のページ をお読みください。
- system-xfree86: [placeholder for user installed x11]
- system-xfree86-shlibs: [placeholder for user installed x11 shared libraries]
これの実体は Apple X11/XDarwin で、 OS X のオプション (X11User.pkg) です。 二つのパッケージは、それぞれ
x11
とx11-shlibs
になります。 この FAQ も合わせてお読みください。 - system-xfree86-dev [placeholder for user installed x11 development tools]
これの実体は Apple X11/XDarwin SDK で、 OS X のオプション (X11SDK.pkg) です。 この FAQ も合わせてお読みください。