• ベストアンサー

ports/packages のインストールと./configure

FreeBSD 6.1-RELEASE を利用しております。 現在Apache1.3.34_4 PHP4.4.2.1 postgreSQL7.4.12を インストールするために悪戦苦闘しております。 初歩の初歩なんですが、FreeBSDで利用できるports/packagesを インストールしたとき(make install もしくは pkg_add) 作られる(インストールされる)プログラムファイル本体は どのディレクトリに格納されるのでしょうか。 Windowsで言うところのc:\Program files\ みたいなディレクトリは 決まっているのでしょうか。 また、マニュアルに./configure ~~~ で環境設定をしてください と書いてあるとおりに、# ./configure~~ とやってもなにも起こり ません。./がディレクトリの位置を示しているんだとしたら、これは そもそもどこが基準になってるのでしょうか。 見当違いで答えにくいかもしれませんが宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> 最後に恐縮ですが、#pkg_add でバイナリデータを > 直接持ってきた場合は環境設定できるかどうか教えてください。 > > (これまでのお話を伺う限り、コンパイル前に設定しなければ > ならない処理である./configure設定を必要とする > アプリケーションはpackagesで入手すること自体、間違ってて、 > ports、もしくはtarなどでソースを入手しなさい、ってことっぽいですが) 「環境設定」したい内容がどういうものかによります。 今まで回答している通り、コンパイル済みのパッケージでは 「./configure」に相当する処理はもう行うことは出来ませんが、 「./configure」で設定した設定値を、設定ファイル(PHPなら、php.ini)で、 上書きすることが出来ることがあります。 (つまり、php.iniに書けばその値が有効になり、 指定しなければ、./configureで指定した値が有効になるという意味です。) ただし、./configureでしか設定出来ない設定もあり得ます。 具体的にどのようなカスタマイズが必要ですか?

nekobuster
質問者

補足

ありがとうございます。 今回詰まってるところはPHP4.4.2.1のインストールに際して #./configure --enable-mbstring --enable-mbstr-enc-trans --with-pgsql=/usr/local --enable-track-vars --with-apxs=/usr/local/sbin/apxs --without-gd --enable-trans-sid を設定しなさい、との事でした。

その他の回答 (3)

  • Lean
  • ベストアンサー率72% (435/603)
回答No.4

>#./configure --enable-mbstring --enable-mbstr-enc-trans --with-pgsql=/usr/local --enable-track-vars --with-apxs=/usr/local/sbin/apxs --without-gd --enable-trans-sid と同じ事をパッケージだけで行うなら以下のような感じかな。 > --with-apxs=/usr/local/sbin/apxs --without-gd  → パッケージ php4-4.4.2_1 をインストール    Apche 1.3用モジュール含む    FreeBSDのPorts/Pacakgesでは--disable-allで作成されるので、PHP拡張モジュールは別途パッケージでインストールする必要あり。 >--enable-mbstring  → パッケージ php4-mbstring-4.4.2_1 をインストール >--enable-mbstr-enc-trans  → 4.3.0以降廃止。    php.ini で mbstring.encoding_translation を On (デフォルトはOff) > --with-pgsql=/usr/local  → パッケージ php4-pgsql-4.4.2_1 をインストール > --enable-track-vars > --enable-trans-sid  → PHP4のconfigureのオプションにはない。

nekobuster
質問者

お礼

細かい点まで、ご指摘ありがとうございます。なにぶん手元の マニュアルも古いものでしたので大変助かりました。 ありがとうございます。

回答No.2

> つまり./configureはコンパイル前にしか使えないないのでしょうか はい。そうです。 > そもそも、./configure っていうのがなんなのか、どこにある > ものなのかがわかりません。 PHP(に限らず./configre式でビルド可能な多くのフリーソフトウェア)の場合、 配布されているソース(*.tar.gzや*.tar.bz2等)から、 以下のような手順でインストール出来ます。 >cd /tmp >tar xvjf php-4.4.4.tar.bz2 >cd php-4.4.4 >./configure >make >make install 「./configure」は「Makefile」(makeで使用します)を、マシン環境に 応じて自動作成します。 ちなみにportsを使うと上記の作業は自動的に行われます。 portsを使うメリットは、 (1)FreeBSD用のパッチを当ててくれる。 (2)依存関係(例:XXXを使うためにはYYYが必要)のあるプログラムを 自動的に構築してくれる。 (3)インストール状態は「/var/db/pkg/*」以下で管理され、 「pkg_*」コマンド群でメンテナンス出来る。 などです。

nekobuster
質問者

補足

概ね、理解できました(と思います) 重ね重ねありがとうございました。 最後に恐縮ですが、#pkg_add でバイナリデータを 直接持ってきた場合は環境設定できるかどうか教えてください。 (これまでのお話を伺う限り、コンパイル前に設定しなければ ならない処理である./configure設定を必要とする アプリケーションはpackagesで入手すること自体、間違ってて、 ports、もしくはtarなどでソースを入手しなさい、ってことっぽいですが)

回答No.1

> 初歩の初歩なんですが、FreeBSDで利用できるports/packagesを > インストールしたとき(make install もしくは pkg_add) > 作られる(インストールされる)プログラムファイル本体は > どのディレクトリに格納されるのでしょうか。 > Windowsで言うところのc:\Program files\ みたいなディレクトリは > 決まっているのでしょうか。 /usr/local/*以下(または/usr/X11R6/*以下)にインストールされます。 > また、マニュアルに./configure ~~~で環境設定をしてください > と書いてあるとおりに、# ./configure~~とやってもなにも起こり > ません。./がディレクトリの位置を示しているんだとしたら、これは > そもそもどこが基準になってるのでしょうか。 portsの場合、./configureを行う部分が自動化されているので ./configureの実行はportsに任せた方が良いです。 portsツリー上にある「Makefile」、「pkg-message」等を調べてみると、 ./configureで変更できる項目の代わりに指定できるmake変数が 見つかることもあるので、出来ればそれを使います。 >cd /usr/ports/www/apache13 >make install APACHE_DOCUMENT_ROOT="/alter/wwwroot" 対応するmake変数が無い場合、Makefile(の中の「CONFIGURE_ARGS」等)を 書き換えてしまう手もあります。

nekobuster
質問者

補足

前者については、よくわかりました。ありがとうございます。 portsについて、./configureをmakeで代用するとのことですが、 たとえば、PHP4.4.2.1 のように、Webからのダウンロード、ports、 #pkg_add と複数の方法で提供されているソフトウェアの場合、 #pkg_addでコンパイル済みのデータをインストールしたとき、 ./configureに相当する環境設定方法があるのでしょうか。 (tbz tgzなどの圧縮ファイル、portsはソースコードを手元の FreeBSDでコンパイル後インストール。packagesはコンパイル済みの プログラムをダウンロードしてインストールすると認識しています。 つまり./configureはコンパイル前にしか使えないないのでしょうか) そもそも、./configure っていうのがなんなのか、どこにある ものなのかがわかりません。

関連するQ&A

  • ports で configure

    始めまして haru というものです。 Fedora core2 から FreeBSD5.3 にOSを変えいろいろ わからないことがあるので質問させてください。 今 PHP5.x をインストールしたいと思っています。 そこで ports を利用してインストールしたいんですが 普通に tar.ball から展開してインストールするときは tar xvzf php5.tar.gz ./configure option make make install とやると思うんですが ports から入れる場合 make install clean とやりますよね? これでは configure のオプションが設定できないと思うんですが なにかやり方があるのでしょうか? なにか気づいたことがありましたらアドバイスよろしくお願いします。

  • GNOME画面のインストール

    何かのエラーが出てしまってGNOMEがインストールできません。 serverfan#pkg_add -r gnome2(インストール実行) Error:FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.0-release/Latest/gnome2.tbz: No address record pkg_add: unble to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.0release/Latest/gnome2.tbz' by URL 解決策の方を教えて下さい。

  • アプリケーションのアンインストール方法

    FreeBSD Release 6.1 を使っています。 壊してはインストールしなおしたりを繰り返していますが、 アプリケーションのインストールについて質問です。 packagesとしてダウンロードした.tbzファイルを pkg_addで加えたときは、pkg_deleteで比較的容易に 削除できますが、portsからコンパイルしたり、.tar.gzファイルを 解凍してコンパイルしてインストールしたアプリケーションを 削除するときは、どうすればいいのでしょうか。 /usr/local/~付近に、それっぽいディレクトリが 有るのはわかりますが、一般的に、こういったディレクトリを 丸ごと消去すれば原則okなのでしょうか。 WindowsではInstall Shieldのようなものを経て消さないと 一部のシステムファイルが残ったり、いわゆるレジストリの ゴミが残ったり、場合によっては再インストールした際の 誤動作の原因になりましたが、FreeBSDの場合はどうなのでしょう? (Install Shield使っても残ったりしましたが・・・) 今回具体的に、消したいのは、PHP4.4.4 Apache1.37.14です。

  • portsについて

    FreeBSD5.3を使用しています。 自分なりに調べて、OSインストール後にすることは portsのアップデート freebsd-update はまず、やらないといけないかなぁと思いました。 質問なのですが、portsはOSをインストールした時点では最新ではないと思うのですが、これをcvsupでアップデートしますよね?アップデートした後は/usr/ports以下のディレクトリの日付は変わっています。 cvsupで/usr/ports以下を最新にするという解釈で間違っていなかったら、portsupgradeというパッケージはどんな役目なのでしょうか? 自分なりの解釈では、現在自分がインストールしている 例えば、apache1.3だったとした場合、portsでは最新の 状態でapache1.3.33だった場合、portupgradeでapache1.3.33にバージョンアップしてくれるようなものなのでしょうか?

  • cvsupしたらportsが全滅

    お世話になります。FreeBSD 4.10においてportsを利用しようとした際、 久しくportsを更新していなかったことを思いだし、cvsupを実行したところ portsの中身が綺麗サッパリ消えてしまいました……。 実際には、portsを利用してインストールしたアプリケーションのディレクトリだけが残っており、 それ以外のディレクトリは全て消えてしまっている状態です。 また、残っているディレクトリにもmake packageした時のパッケージと、workディレクトリしか残っていません。 cvsup時に指定したsupfileは下記の通りです。 何かやらかしてしまっているでしょうか……。 # ヘッダ省略 *default host=cvsup4.jp.FreeBSD.org *default base=/var/cvsup *default prefix=/usr *default release=cvs tag=RELENG_4_10_0_RELEASE *default delete use-rel-suffix *default compress ports-base ports-accessibility ports-archivers ports-astro ports-audio ports-benchmarks ports-biology ports-cad ports-comms ports-converters ports-databases ports-deskutils ports-devel ports-dns ports-editors ports-emulators ports-finance ports-ftp ports-games ports-graphics ports-irc ports-japanese ports-java ports-lang ports-mail ports-math ports-mbone ports-misc ports-multimedia ports-net ports-net-mgmt ports-news ports-palm ports-picobsd ports-print ports-science ports-security ports-shells ports-sysutils ports-textproc ports-www

  • FreeBSDのPortsについて

    FreeBSDのPortsについて こんばんは。 FreeBSDのPortsをインストールする際に、 make install clean でerrがでて、指定のディレクトリにはいりません。 例)cd /usr/ports/www/firefox/ make install clean また、make search name=" " で、portが見つかりませんでした。 例)make search name="firefox" Freebsdインストール中のパッケージ選択で、 portsのカテゴリ /usr/ports/www/に、firefoxがありませんでした。 Mozillaはありました。関係ないかもしれませんが、CDからFreeBSDをインストールしています。 カテゴリになければ,make install clean や make search はできないのでしょうか? make install clean でerrが出てきた時、ftp、httpのurlが出てきていました。 Portsは、カテゴリにあるports内容から、そこに掲載されているftp、httpurlへダウンロードしにいって得られるという仕組みなのでしょうか? portsについて図解してある参考になるサイトをご存知でしたら教えてください。 あと、pingやdigで、ルーター、ネームサーバーへの問い合わせはできているようです。 よろしくお願いします。 以上

  • FreeBSD-ports

    FreeBSDでportsを使ってKDE4をインストールしようとしてます。 問題なのは、/usr/ports/x11KDE4のディレクトリでmakeを実行すると、 ~~~not found だとか ~~~ you need to upgrade だとかたくさん出てきて足りないものをいちいちインストール、アップグレードするのがとても面倒です。 なにかいい方法はないものでしょか?

  • ./configureがしたいのですが・・・

    /usr/ports/www/apache22からportinstallしたいのですが、make時のoptionが多すぎてわからないので、とりあえずfulloptionでmakeしてその後色々いじって勉強したいのですが、色々検索エンジンで調べてみると #./configure --prefix=/usr/local/test/apache2 --enable-mods-shared=all #make # make install でできるらしいと書いてました。 しかし、./configureとコマンド入れてもcommand not foundになるのでautoconfとかautomakeがあるとできるらしいのでpkg_infoしてみるとすでにautoconf-2.59_2 autoconf-2.61 s automake-1.4.6_2 が/usr/local/binに入ってるようです。 どうしたら./configureできるようになるのでしょう? または./configure使わなくてもapache2.2をfulloptionでインストールするmake方法などありますでしょうか?

  • apacheが使うopensslの差し替え。FreeBSD付属からportsで取得したものへ。

    apacheで用いているopensslについて FreeBSD付属のものから portsでインストールしたopenssl に差し替えるにはどうすればよいのでしょうか? OS:FreeBSD 6.1-RELEASE FreeBSD付属のopenssl:0.9.8e portsのopenssl:0.9.8h

  • portsが使えなくなった

    FreeBSD 5.3-RELEASEマシンにMySQL5.1をインストール使用としています。 ports利用でやろうとしていまして、まず準備としてportsを最新状態にする為に Cvsupによるアップデート(以下のコマンド)を実行しましたら、その後 makeコマンドでエラー メッセージを出すようになりました。 Cvsupによるアップデートは初めて行いました。 # cvsup -g -L 2 /usr/local/etc/cvsup/ports-supfile (20分くらいで完了) # cd /usr/ports/databases/mysql51-client # make config-recursive Unknown modifier 'u' Variable ALL_OPTIONS is recursive. # make WITH_CHARSET=utf8 WITH_XCHARSET=ujis,sjis,utf8 install clean Unknown modifier 'u' Variable ALL_OPTIONS is recursive. ネットで調べましたが解決策を見つけられませんでした。 ports のアップデートのやり方が不味かったのか? こうなったら portsシステム をゼロの状態にしたい!と考えいます。 こんなことはできるのでしょうか? アドバイスの程宜しくお願いします。