スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

apache 2.2.18をrpmbuildでRPM化してインストール

OSはCentOS 5.6 x86_64。

新しいapr-devel、apr-util-develが必要になるからソースからrpmbuildしてインストールする。

とりあえずapr系のインストール状況を調べてみる

# rpm -qa | grep apr

apr-util-devel-1.2.7-11.el5_5.2
xorg-x11-drv-dynapro-1.1.0-2
apr-util-1.2.7-11.el5_5.2
apr-util-devel-1.2.7-11.el5_5.2
apr-devel-1.2.7-11.el5_6.4
apr-1.2.7-11.el5_6.4
apr-1.2.7-11.el5_6.4
apr-util-1.2.7-11.el5_5.2
apr-devel-1.2.7-11.el5_6.4

古いバージョンが入ってる。

ということで
apr-1.4.4.tar.bz2、apr-util-1.3.11.tar.bz2
を/usr/local/srcにダウンロードして、順番にrpmbuildする。まずはapr

# rpmbuild -tb --clean --rmspec apr-1.4.4.tar.bz2

問題なし。

次はapr-util

# rpmbuild -tb --clean --rmspec apr-util-1.3.11.tar.bz2

こんなエラー
エラー: ビルド依存性の失敗:
apr-devel >= 1.3.0 は apr-util-1.3.11-1.x86_64 に必要とされています
postgresql-devel は apr-util-1.3.11-1.x86_64 に必要とされています
mysql-devel は apr-util-1.3.11-1.x86_64 に必要とされています
freetds-devel は apr-util-1.3.11-1.x86_64 に必要とされています
unixODBC-devel は apr-util-1.3.11-1.x86_64 に必要とされています

aprのrpmbuildでできあがったapr-develは先にインストール(既に古いバージョンが入ってるからこの場合アップデート)が必要らしい。あとpostgresql-devel、mysql-devel、freetds-devel、unixODBC-develはyumでインストールする

# cd /usr/src/redhat/RPMS/x86_64
# rpm -Uvh apr-1.4.4-1.x86_64.rpm apr-devel-1.4.4-1.x86_64.rpm
# yum install postgresql-devel mysql-devel freetds-devel unixODBC-devel

再度apr-utilのrpmbuild

# cd /usr/local/src
# rpmbuild -tb --clean --rmspec apr-util-1.3.11.tar.bz2

問題なし。

インストール(アップデート)

# cd /usr/src/redhat/RPMS/x86_64/
# rpm -Uvh apr-util-1.3.11-1.x86_64.rpm apr-util-devel-1.3.11-1.x86_64.rpm

で、apacheをrpmbuild

# cd /usr/local/src
# rpmbuild -tb --clean --rmspec httpd-2.2.18.tar.gz

こんなエラー
エラー: %changelog 中の不正な日付: See http://www.apache.org/dist/httpd/CHANGES_2.2

specファイルがおかしいのか。開いて確認

# tar zxf httpd-2.2.18.tar.gz
# vi httpd-2.2.18/httpd.spec

最終行がこういう風になってる

%changelog
* See http://www.apache.org/dist/httpd/CHANGES_2.2

これをこういう風に変更(もしくは* See http://www … 行を削除する)

%changelog
* Wed May 18 2011 Hoge <hoge@hoge.com>
- See http://www.apache.org/dist/httpd/CHANGES_2.2

tar.gzにかためる

# mv httpd-2.2.18.tar.gz httpd-2.2.18.tar.gz.ORG
# tar zcf httpd-2.2.18.tar.gz httpd-2.2.18

もう1回rpmbuild

# rpmbuild -tb --clean --rmspec httpd-2.2.18.tar.gz

またエラー
エラー: ビルド依存性の失敗:
pcre-devel >= 5.0 は httpd-2.2.18-1.x86_64 に必要とされています

pcre-develをyumでインストール

# yum install pcre-devel

またまたrpmbuild

# rpmbuild -tb --clean --rmspec httpd-2.2.18.tar.gz

こんな感じのエラーで止まる
・・・
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.60370 の不正な終了ステータス (%build)


RPM ビルドエラー:
/var/tmp/rpm-tmp.60370 の不正な終了ステータス (%build)

ということでdistcacheをyumでインストール

# yum install distcache distcache-devel

またまたまたrpmbuild

# rpmbuild -tb --clean --rmspec httpd-2.2.18.tar.gz

今度はOK

# ll /usr/src/redhat/RPMS/x86_64/

-rw-r--r-- 1 root root 1288107 5月 18 15:30 httpd-2.2.18-1.x86_64.rpm
-rw-r--r-- 1 root root 217340 5月 18 15:30 httpd-debuginfo-2.2.18-1.x86_64.rpm
-rw-r--r-- 1 root root 149736 5月 18 15:30 httpd-devel-2.2.18-1.x86_64.rpm
-rw-r--r-- 1 root root 2722334 5月 18 15:30 httpd-manual-2.2.18-1.x86_64.rpm
-rw-r--r-- 1 root root 80990 5月 18 15:30 mod_ssl-2.2.18-1.x86_64.rpm

apacheインストール前に、既にインストールされてないか調べてみる

# rpm -qa | grep httpd
httpd-2.2.3-45.el5.centos.1

httpdはインストールされてたからアップデート、httpd-develは無かったからインストール

# cd /usr/src/redhat/RPMS/x86_64
# rpm -Uvh httpd-2.2.18-1.x86_64.rpm
# rpm -ivh httpd-devel-2.2.18-1.x86_64.rpm

この記事のトラックバックURL

http://ysmt.blog21.fc2.com/tb.php/334-d0c0ac6c

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。