FreeBSDのportsでアプリケーションをインストールするときに、configureオプションはどこで設定するのでしょうか。

make configureというコマンドを実行しても、オプションの引数(Gnu Screenの場合--enable-colors256など)をつけるとエラーになってしまいます。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:
  • 終了:2006/04/16 17:19:19
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:ton-boo No.1

回答回数55ベストアンサー獲得回数5

ポイント50pt

一般的にはmake時に環境変数を与えることで設定します。

どんな環境変数が有効なのかは、それぞれのportsのMakefileをみるとおおよそのことがわかります。中には、インクルードされている別ファイルを追わないとわからないものもありますが……

screenについては私自身は使っていないので未確認ですが、

WITH_XTERM_256=yes

で良さそうです。

http://havana.2-d.jp/diary/?date=20051120

どうやって環境変数を指定するかについては、こちらのサイトの「インストールするアプリケーションのカスタマイズ」あたりなどが参考になると思います。

http://www.alib.jp/FreeBSD/install

id:takets

ありがとうございます。

ある程度までは設定可能みたいですね。ただ、本当に細かくやるのなら最終的にはソースからのコンパイルになりそうですが……。

2006/04/13 21:59:55
id:TransFreeBSD No.2

回答回数668ベストアンサー獲得回数268

ポイント50pt

まず、一般的に「WITH_*/WITHOUT_*」(knobと呼ばれます)で、というのはton-booさんのおっしゃる通りです。これらはconfigureに限らず(portsとしての)依存関係などのチェックに使われる可能性もありますので、それですむのならそれを使った方がたぶん幸せになれます。

これらknobが対応していない場合は「CONFIGURE_ARGS」を使います。

先ほどの「WITH_*/WITHOUT_*」も基本的にはMakefile中でこの「CONFIGURE_ARGS」に引数を追加していく形をとります。そのあたりは各portsのMakefileや、多くのアプリケーションで共通のものは/usr/ports/Mk/bsd.(hoge).mkで行なわれていますので、それらを読むと実際にどんな引数を渡しているかわかると思います。

#portsのMakefileはこういう変数定義の仕事がほとんど、というかそれだけで出来ているのが大半です

こういった変数の値を受けて実際に仕事を(ソースへの発注ですが)しているのが/usr/ports/Mk.ports.mkです。

http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk?r...

(タブが4なのでwebではちょっと読みにくいですが)

このファイルの冒頭には各変数やターゲットに関する説明がありますので一読をお進めします。

元に戻って、じゃあ、どんなknobがあるのか?という話になる訳ですけど、物によってはmake時に表示されますが、ほとんどはMakefile(またはMk/bsd.*.mk)を読むって事になります。ただ、このknobを調べるスクリプトをだれか作っていたという記憶がありますが、URLを見つけられませんでした。気のせいだったかなぁ。

id:takets

それらしい変数があるのは確認していたのですが、そのままconfiugreへのオプション変数が使えるわけではなったんですね。

まさかports全体の共通設定があったとは。勉強になりました。

2006/04/16 17:07:53
id:otsune No.3

回答回数35ベストアンサー獲得回数5

ポイント50pt

*

大抵のportsは環境変数を設定することで対処できます。(portsで指定できるオプションはKNOBと呼びます)

sysutils/screenの場合は/usr/ports/sysutils/screen/Makefileを見るとWITH_XTERM_256を見ていますので、

cd /usr/ports/sysutils/screen
make -DWITH_XTERM_256 install

などで指定してインストールします。(portsupgradeを使っている場合は/usr/local/etc/pkgtools.confのMAKE_ARGSに指定すると便利です)

http://havana.2-d.jp/diary/?date=20051120#p01

*

またMakefileにKNOBが用意されていないportsの場合は、Makefile.localというファイルに

CONFIGURE_ARGS+= --enable-colors256

などと書けばカスタム指定できます。

また最近のportsはMakefileでOPTIONSが指定されていることが多いですが。その場合はmake configでKNOBを設定できます。

id:takets

Makefieにある変数しかオプションの指定ができないのか、と心配だったのですが、Makefile.localを使えば自由に設定できるとは考えませんでした。

汎用的に使えるやり方でいいですね。早速試してみます。

2006/04/16 17:18:37

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません