2008年7月26日

[vine-users:078600] Re: postfix-mysql

長南です。

# 前のメールの引用はなくてもよいけれど、実行なさったコマンドや、
# 出たエラーはもっと詳しくお書きになった方がたすかります。

さて、postfix-2.2.10-0vl6.src.rpm のリビルドでエラーが出たというのは、
こんな感じだったのではないでしょうか。

gcc -shared -Wl,-soname,dict_mysql.so -o dict_mysql.so dict_mysql.o -lmysqlclient -L. -lutil -lglobal
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld はステータス 1 で終了しました
make: *** [dict_mysql.so] エラー 1
make: *** [update] エラー 1
エラー: /var/tmp/rpm-tmp.27959 の不正な終了ステータス (%build)

当方でも spec ファイルの AUXLIBS に -L/usr/lib/mysql を書き足して
みるとか、いろいろやってみたのですが、このエラーがどうしてもなくなり
ません。どうするのが本手かわかりませんが、面等臭いので、/usr/lib に
/usr/lib/mysql/libmysqlclient.so のリンクを作ってしまいました。

それで当面このエラーは回避できました。しかし、今度は、

gcc -shared -Wl,-soname,dict_pgsql.so -o dict_pgsql.so dict_pgsql.o -lpq -L. -lutil -lglobal
/usr/bin/ld: cannot find -lpq
collect2: ld はステータス 1 で終了しました
make: *** [dict_pgsql.so] エラー 1
make: *** [update] エラー 1
エラー: /var/tmp/rpm-tmp.4887 の不正な終了ステータス (%build)

というエラーが出てしまうのです。こちらは postgresql-libs と
postgresql-devel パッケージを入れると消えました。postgresqlを
使わないのに、なんで postgresql-libs などをインストールしなければ
ならないのか、わかりませんけれど。

しかし、このやりかたでは postfix postfix-pcre postfix-ldap はできる
けれど、お目当ての postfix-mysql (/usr/lib/postfix/dict_mysql.so が
入っている) ができません。なぜだろうかと、postfix-2.2.10-0vl6.src.rpm
のスペックファイルを睨んでいると、このへんがおかしそうです。

%if %build_pgsql
%files mysql
%defattr(-,root,root)
%{_libdir}/postfix/dict_mysql.so
%endif

これは %if %build_mysqll タイプミスでしょうね。

そこを変更した postfix.spec はこんな状態。

$ diff postfix.spec postfix.spec.org
16c16
< Release: 0vl6a
---
> Release: 0vl6
419c419
< %if %build_mysql
---
> %if %build_pgsql

これで以下を実行すると、

$ rpmbuild -bb --define '_with_mysql 1' postfix.spec 2>&1 |tee postfix.log
---- (中略) ----
書き込み完了: /home/hoge/rpm/RPMS/i386/postfix-2.2.10-0vl6a.i386.rpm
書き込み完了: /home/hoge/rpm/RPMS/i386/postfix-mysql-2.2.10-0vl6a.i386.rpm
書き込み完了: /home/hoge/rpm/RPMS/i386/postfix-ldap-2.2.10-0vl6a.i386.rpm
書き込み完了: /home/hoge/rpm/RPMS/i386/postfix-pcre-2.2.10-0vl6a.i386.rpm

一応はできたようです。この postfix-* が実際に使えるかどうかは
わかりませんけれど。

--
長南洋一


投稿者 xml-rpc : 2008年7月26日 16:23
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75693
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。