vine-users ML アーカイブ



[vine-users:076062] Re: apache2  SRPMのリビ ルド

  • From: OSOEGAWA Hiroya <oso.con-con@xxxxxxxxxxxxx>
  • Subject: [vine-users:076062] Re: apache2  SRPMのリビ ルド
  • Date: Tue, 6 Feb 2007 03:35:05 +0900
小副川といいます。

私は,ワークステーションとしてインストールせず,
フルインストールを選択してインストールしました。
しかしながら,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.