portupgradeでapache-2.2.15_9に更新できない

| コメント(0)

既にほぼローカルネット専用化している自宅サーバの話である。
自宅サーバでは、Apache-2.2.14_6 を使っている。
FreeBSDのportsを更新したら、Apache-2.2.15_9が公開されていたので、さっそく、導入することにした。
portupgradeで更新しようとしたところ、skipされてしまった。

/usr/ports/UPDATINGには、次のような記述があった。

20100518:
AFFECTS: users of devel/apr0, devel/apr1, www/apache20, www/apache22
AUTHOR: pgollucci@FreeBSD.org

devel/apr port has been renamed to devel/apr1.

WITH_APR_FROM_PORTS=yes for www/apache22 has been dissolved and may be
removed from your configuration files; devel/apr1 is always used now.

Please manually delete apache-2.\* if installed _before_ updating using
either portmaster or portupgrade:

pkg_delete -f apache-2.\*

Then, if you use portmaster:

portmaster -o devel/apr1 devel/apr

If you use portupgrade:

portupgrade -f -o devel/apr1 devel/apr

Finally, reinstall Apache port if you deleted it earlier and update ports as
usual (`XX' below is either 20 or 22):

portinstall www/apacheXX

aprモジュールは、Apache22のオプションで、「THREADS」を選択すると使われるものだ。
御指示どおりの手順でやってみた。

# pkg_delete -f apache-2.\*
# portupgrade -f -o devel/apr1 devel/apr
# portinstall www/apache22

すると、またもやエラーが発生した。

===> Script "configure" failed unexpectedly.
Please report the problem to apache@FreeBSD.org [maintainer] and attach the
"/usr/ports/www/apache22/work/httpd-2.2.15/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. an `ls
/var/db/pkg`).
*** Error code 1

Stop in /usr/ports/www/apache22.
*** Error code 1

Stop in /usr/ports/www/apache22.

おかしい。

ああ、そういえば、mod-perl2を使っていた。
そこで、次のように、依存関係を遮断した。

# pkgdb -F
---> Checking the package registry database
Stale dependency: mod_perl2-2.0.4_2,3 -> apache-2.2.14_6 (www/apache22):
-> Deleted. (irrelevant)

しかし、導入しようとしても、またしてもエラーが発生。

Configuring Apache Portable Runtime library ...

checking for APR... configure: error: the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file.
===> Script "configure" failed unexpectedly.
Please report the problem to apache@FreeBSD.org [maintainer] and attach the
"/usr/ports/www/apache22/work/httpd-2.2.15/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. an `ls
/var/db/pkg`).
*** Error code 1

Stop in /usr/ports/www/apache22.
*** Error code 1

Stop in /usr/ports/www/apache22.


とりあえず、THREADSのチェックをOffにして再試行したが、同じエラーで停止。

# cd /usr/ports/devel/apr1/
# make configure

としたら、ビルドオプションの「THREADS」と「IPV6」がOnになっている。
ここが不整合だったかもしれない。
apr1のビルドオプション「THREADS」と「IPV6」をOffに設定。
その後、apache22のディレクトリに戻って再試行するも、同じエラー。
???
ひょっとして、devel/apr1を再導入しないとだめなのだろうか。
# cd /usr/ports/devel/apr1/
# setenv FORCE_PKG_REGISTER
# make clean
# make deinstall
# make install


これでもダメ。

# portupgrade -f devel/apr1
なんとか正常終了。
# portinstall www/apache22
これもなんとか正常終了。
# portupgrade -f mod_perl2
これも正常終了。
# /usr/local/etc/rc.d/apache22 start Performing sanity check on apache22 configuration: Syntax OK Starting apache22.

やれやれ、やっと起動した。

まとめると、こんな感じだろう。


  1. portsの旧devel/aprがdevel/apr1に改称された。

  2. portupgrade -f -o devel/apr1 devel/aprでは、どうやらデフォルト設定(IPV6オン)で強制導入される。

  3. 筆者のサーバではIPV6オフ(以前の記事参照)にしているので、apache2とapr1の設定が不整合となった。

  4. apr1のconfigureを再設定した後、portupgrade -f apr1で再導入することにより、不整合が解消した。


なんともヤヤコシイものである。

コメントする

このブログ記事について

このページは、山椒魚が2010年5月29日 19:24に書いたブログ記事です。

ひとつ前のブログ記事は「【口蹄疫】国連食糧農業機関(FAO)、政府反応が鈍いと非難」です。

次のブログ記事は「FreeBSD セキュリティ勧告 FreeBSD-SA-10:04.jail」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

おすすめサイト

おすすめ

サーバ/OS技術書

技術書一般

  • 長沢工:天体の位置計算 増補版

    長沢工:天体の位置計算 増補版

    天体の視位置を計算する「位置天文学」の入門書。ロングセラー。刊行が古いために、具体的計算に使われている星表等の定数は、1984年以前の計算システムによるものである。しかし、現在、新刊で入手可能な同種の書籍は限られており、天体位置計算の考え方が変った訳ではないので、現在でも充分に役立つだろう。