小副川といいます。
私は,ワークステーションとしてインストールせず,
フルインストールを選択してインストールしました。
しかしながら,apache2-2.2.3-0vl3.src.rpmをリビルドして要求された
develパッケージのみをaptでインストールしたところ,岡本さんと
同じ結果になったので調べてみました。
結論からいいますと,私の場合,
・pcre-develパッケージ
・sqlite3-develパッケージ
のふたつのパッケージが必要でした。
長くなりますが,以下に,今回,追加したふたつのパッケージをどうやって
見つけたのかを書いておきます。
(エラーメッセージは,適当に改行しています)
--8<--8<--8<--8<-ここから-8<--8<--8<--8<--
(1)apache2-2.2.3-0vl3.src.rpmファイルをリビルドしたときに
要求してきた次の7つのパッケージをaptでインストールした。
・db4-devel
・expat-devel
・openldap-devel
・apr-devel
・apr-util-devel
・zlib-devel
・openssl-devel
このとき,openldap-develをインストールするため,自動的に
cyrus-sasl-develもインストールされた。
(2)再度,apache2-2.2.3-0vl3.src.rpmをリビルドした。
====ここから====
$ rpm -rebuild apache2-2.2.3-0vl3.src.rpm [Enter]
(省略)
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for pcre-config... false
configure: Configuring PCRE regular expression library
configuring package in srclib/pcre now
../configure: line 1: cd: ../srclib/pcre: No such file or directory
/configure: /configure: No such file or directory
configure failed for srclib/pcre
エラー: /var/tmp/rpm-tmp.66462 の不正な終了ステータス (%build)
RPM ビルドエラー:
/var/tmp/rpm-tmp.66462 の不正な終了ステータス (%build)
$
====ここまで====
このメッセージは,岡本さんがapache2-2.2.3-0vl3.src.rpmを
リビルドされたときに出力されたメッセージと同じだった。
この出力されたメッセージの中の
「configuring package in srclib/pcre now
../configure: line 1: cd: ../srclib/pcre: No such file or directory
/configure: /configure: No such file or directory
configure failed for srclib/pcre」
に注目した。私のマシンには,pcreパッケージはインストールされていたが,
pcre-develパッケージは,インストールされていなかったため,
pcre-develが必要だと判断した。
そこで,aptにて,pcre-develパッケージをインストールした。
====ここから====
$ apt-get install pcre-devel [Enter]
====ここまで====
(3)pcre-develパッケージをインストール後,再度,apache2をリビルドした。
====ここから====
$ rpm -rebuild apache2-2.2.3-0vl3.src.rpm [Enter]
(省略)
r -I/home/hogehoge/rpm/BUILD/httpd-2.2.3/modules/proxy/../generators -I/usr/include/openssl -I/home/hogehoge/rpm/BUILD/httpd-2.2.3/modules/ssl -I/home/hogehoge/rpm/BUILD/httpd-2.2.3/modules/dav/main -prefer-non-pic -static -c /home/hogehoge/rpm/BUILD/httpd-2.2.3/support/htpasswd.c && touch htpasswd.lo
/usr/lib/apr-1/build/libtool --silent --mode=link gcc -pthread -I/usr/include/pcre -O2 -m32 -march=i386 -mcpu=i686 -o htpasswd htpasswd.lo -lm -L/usr/lib -lpcre /usr/lib/libaprutil-1.la /usr/lib/libapr-1.la
libtool: link: cannot find the library `/usr/lib/libsqlite3.la'
make[2]: *** [htpasswd] エラー 1
make[2]: ディレクトリ `/home/hogehoge/rpm/BUILD/httpd-2.2.3/mpm-worker/support' から出ます
make[1]: *** [all-recursive] エラー 1
make[1]: ディレクトリ `/home/hogehoge/rpm/BUILD/httpd-2.2.3/mpm-worker/support' から出ます
make: *** [all-recursive] エラー 1
エラー: /var/tmp/rpm-tmp.53944 の不正な終了ステータス (%build)
RPM ビルドエラー:
/var/tmp/rpm-tmp.53944 の不正な終了ステータス (%build)
$
====ここまで====
エラーメッセージの
「libtool: link: cannot find the library `/usr/lib/libsqlite3.la'」
に注目した。そして,次の手順で足りないパッケージを絞りこんだ。
====ここから====
$ apt-cache search libsqlite3 [Enter]
sqlite3 - SQLite は組み込み型SQLデータベースエンジンを実装するCライブラリです。
$ apt-cache search sqlite3 [Enter]
sqlite3 - SQLite は組み込み型SQLデータベースエンジンを実装するCライブラリです。
sqlite3-devel - sqlite3の開発用ヘッダファイル及びライブラリ
sqlite3-tcl - SQLiteのTclクライアントライブラリ
gambas2-gb-db-sqlite - Gambas データベースコンポーネント用の SQLite ドライバ
koffice - KDE 向け統合オフィススイート
$
====ここまで====
sqlite3パッケージは,インストールされていたので,他に必要と考えられる
パッケージは,sqlite3-develと判断した。そこで,aptにてsqlite3-develパッケージを
インストールした。
====ここから====
$ apt-get install sqlite3-devel [Enter]
====ここまで====
(4)sqlite3-develパッケージをインストール後,apache2をリビルドした。
====ここから====
$ rpm -rebuild apache2-2.2.3-0vl3.src.rpm [Enter]
(省略)
Requires(post): /bin/sh
Requires: httpd make httpd-mmn = 20020903 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libcrypto.so.4 libpthread.so.0 libssl.so.4
パッケージに未収録のファイルを検査中: /usr/lib/rpm/check-files /var/tmp/apache2-2.2.3-root
書き込み完了: /home/hogehoge/rpm/RPMS/i386/apache2-2.2.3-0vl3.i386.rpm
書き込み完了: /home/hogehoge/rpm/RPMS/i386/apache2-devel-2.2.3-0vl3.i386.rpm
書き込み完了: /home/hogehoge/rpm/RPMS/i386/apache2-manual-2.2.3-0vl3.i386.rpm
書き込み完了: /home/hogehoge/rpm/RPMS/i386/mod_ssl-apache2-2.2.3-0vl3.i386.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.20847
+ umask 022
+ cd /home/hogehoge/rpm/BUILD
+ cd httpd-2.2.3
+ rm -rf /var/tmp/apache2-2.2.3-root
+ exit 0
実行中(--clean): /bin/sh -e /var/tmp/rpm-tmp.65980
+ umask 022
+ cd /home/hogehoge/rpm/BUILD
+ rm -rf httpd-2.2.3
+ exit 0
$
====ここまで===
無事に,/home/hogehoge/rpm/RPMS/i386ディレクトリにapache2関連のパッケージが作成された。
--8<--8<--8<--8<-ここまで-8<--8<--8<--8<--
わかりにくい部分があるかもしれませんが,参考になれば幸いです。
On Mon, 5 Feb 2007 23:18:04 +0900
"Tatsushi Okamoto" <tatsushi.okamoto@xxxxxxxxx> wrote:
> 岡本と申します。
>
> apache2のSRPMパッケージのリビルドを行いたいのですが、リビルドが通りません。
>
> $ rpm --rebuild apache2-2.2.3-0vl3.src.rpm
> 中略
>
> checking for gcc option to accept ANSI C... none needed
> checking how to run the C preprocessor... gcc -E
> checking for pcre-config... false
> configure: Configuring PCRE regular expression library
> configuring package in srclib/pcre now
> ../configure: line 1: cd: ../srclib/pcre: No such file or directory
> /configure: /configure: No such file or directory
> configure failed for srclib/pcre
> エラー: /var/tmp/rpm-tmp.41004 の不正な終了ステータス (%build)
>
> RPM ビルドエラー:
> /var/tmp/rpm-tmp.41004 の不正な終了ステータス (%build)
>
> 環境はワークステーションとしてインストールし、リビルド時に要求されるままに、
> -develパッケージを入れてあります。
> なにか足りないパッケージがあるのでしょうか?
>
> /srclib/pcre
> というディレクトリがないためにエラーになっているようですが、
> httpd-2.2.3.tar.bz2を展開した中には該当するディレクトリがありますが...
>
---
OSOEGAWA H.