Apache 2.2.21 をrpmbuildしようとして失敗したことについて
しばらく前にApache Killerが巷を騒がしましたね。
それに伴いApacheの2.2.20が公開されましたが、バグがいくつかあったようで、最新版(2011/09/15)ではバージョンが2.2.21に上がっています。
私はnginxを利用しているのでこの事件には関わっていないのですが、最新版を触ってみようと思いソースからrpmbuildしようと思いました。
(実際の最新版は2.3がありますがbeta版なので後回し)
その時に引っかかってしまった点をメモしておきます。(忘れやすいので)
まずは本家からソースをダウンロードします
wget http://www.meisei-u.ac.jp/mirror/apache/dist//httpd/httpd-2.2.21.tar.gz
rpmbuildコマンドでrpm化しようとしました
# rpmbuild -ta --target x86_64 httpd-2.2.21.tar.gz
ビルド対象プラットフォーム: x86_64
ターゲット x86_64 用にビルド中
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.25465
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
〜中省略〜
checking whether Distcache is required... yes (specified)
checking distcache/dc_client.h usability... no
checking distcache/dc_client.h presence... no
checking for distcache/dc_client.h... no
configure: error: distcache support failed: can't include distcache headers
エラー: /var/tmp/rpm-tmp.22520 の不正な終了ステータス (%build)
とdistcacheというSSL/TLSセッションのキャッシュを有効にするためのもののようです。
きっと最新版ではこの設定があるようです。
なのでdistcacheをインストールします。yumでもbaseレポジトリにありますのでインストール可能です。
# yum --enablerepo=epel --enablerepo=remi --enablerepo=dag install distcache.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* epel: ftp.iij.ad.jp
* remi: rpms.famillecollet.com
Setting up Install Process
Resolving Dependencies
-
- > Running transaction check
- > Package distcache.x86_64 0:1.4.5-14.1 set to be updated
- > Finished Dependency Resolution
- > Running transaction check
Dependencies Resolved
====================================================================================================
Package Arch Version Repository Size
====================================================================================================
Installing:
distcache x86_64 1.4.5-14.1 base 121 k
Transaction Summary
====================================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 121 k
Is this ok [y/N]:
〜中省略〜
Installed:
distcache.x86_64 0:1.4.5-14.1
Complete!
再度rpmbuildを実行します
# rpmbuild -ta --target x86_64 httpd-2.2.21.tar.gz
また同じところで引っかかりましたw
distcache-develが必要だったようです。
# yum --enablerepo=epel --enablerepo=remi --enablerepo=dag install distcache-dev el.x86_64
〜中省略〜
Running Transaction
Installing : distcache-devel 1/1Installed:
distcache-devel.x86_64 0:1.4.5-14.1
これで今度こそちゃんと通るようになるはずです。
# rpmbuild -ta --target x86_64,noarch httpd-2.2.21.tar.gz ビルド対象プラットフォーム: x86_64,noarch
ターゲット x86_64 用にビルド中
〜中省略〜checking for distcache/dc_client.h... yes
checking for Distcache version... yes
checking for Distcache libraries... yes
adding "-ldistcache" to MOD_SSL_LDADD
adding "-lnal" to MOD_SSL_LDADD
adding "-export-symbols-regex" to MOD_SSL_LDADD
adding "ssl_module" to MOD_SSL_LDADD
checking whether to enable mod_ssl... shared (all)
adding "-I$(top_srcdir)/modules/ssl" to INCLUDES
〜省略〜
これでビルド完了です^^
rpmの場所は
/usr/src/redhat/RPMS/x86_64/httpd-2.2.21-1.x86_64.rpm
になるのでこれをrpmコマンドでインストールしたら最新版のApacheがインストール可能になります
*1rpmファイルはこちらからダウンロードできるようにしてあります^^
Apacheクックブック 第2版 ―Webサーバ管理者のためのレシピ集
- 作者: Ken Coar,Rich Bowen,笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/09/26
- メディア: 大型本
- 購入: 6人 クリック: 144回
- この商品を含むブログ (32件) を見る