apache portupgrade ビルドエラー

今回は、Apacheの更新で、エラーが発生したため、内容をメモ。

# portupgrade -a
—> Upgrading ‘apache22-2.2.22_7’ to ‘apache22-2.2.22_8’ (www/apache22)
—> Building ‘/usr/ports/www/apache22’

コンフィグレーション中に、
Script “configure” failed unexpectedly.
となって、停止する。

checking whether to enable mod_auth_basic… shared
checking whether to enable mod_auth_digest… checking dependencies
You need APR random support to use mod_auth_digest.
Look at APR configure options –with-egd and –with-devrandom.
checking whether to enable mod_auth_digest… configure: error: mod_auth_digest has been reques
ted but can not be built due to prerequisite failures
===> Script “configure” failed unexpectedly.
Please report the problem to apache@FreeBSD.org [maintainer] and attach the
“/usr/ports/www/apache22/work/httpd-2.2.22/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. a /usr/sbin/pkg_info
-Ea).
*** Error code 1

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

Stop in /usr/ports/www/apache22.
** Command failed [exit code 1]: /usr/local/libexec/pkgtools/script -qa /tmp/portupgrade2012090
7-59508-1gpn1il-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=apache22-2.2.22_7 UPGRADE_PORT_VER=
2.2.22_7 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! www/apache22 (apache22-2.2.22_7) (configure error)

どうも、mod_auth_digest の部分でエラーになっているようだ。mod_auth_digest を調べてみると、Apache で認証が必要なページを使う場合、Webブラウザーなどから入力されたパスワードを、平文ではなく暗号化してネットワーク上を通過させるための仕組みらしい。ダイジェスト機能はキー生成時にランダム関数を使う。
そういえば先日 devel/apr1 のアップデート時に、python2.7 関係でエラーが出たので make config して、/dev/randam を抜いたような気がする。実際には randam は関係なかったけど、apr1 で make config してみたら、確かに randam が無い。
そこで apr1 を randam 機能を選択して再インストールしてみることにした。
まず、/usr/local/bin/pytyon2.7 を python としてシンボリックリンク。これは、 apr1 の configure を通過させるため。
/usr/ports/devel/apr1 に移動して、
# make config して randam 機能と先日ディスエーブルした機能を追加
make して新しいパッケージをビルド
make deinstall で apr1 パッケージを削除
make reinstall で今ビルドしたパッケージをインストール
その後、
# portupgrade -a を実行してみる。

正解だったようで、先ほどエラーが出て停止していた部分を無事通過。
ビルドが進み始めた。

メモ終了

コメントを残す