2008年7月26日

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

長南様
 
 NONAKAです。
 
 お手数おかけ致しました。
 ありがとうございます。


 specファイルずーと眺めてまして
%if %build_pgsql
%files mysql
 の部分の誤記は発見しておりまして修正済みでした。

 postgresql-libs
 postgresql-devel
 もVine以外の情報ですがサイトに情報があったのでインストール済みでした。

 /usr/bin/ld: cannot find -lmysqlclient
 はどこかのパスの誤記と思いずーとさがしたのですが見付かりませんでした。

 とりあえず長南様の言ったとおり
 libmysqlclient.so のリンクを/usr/lib に張ったところ
 postfix-mysql-2.2.10-0vl6a.i386.rpmができました。

 main.cf の設定を変更しpostfixを起動してところエラーが出ていないので
多分大丈夫だと思います。
 試験的に動かしてみます。

 貴重な情報ありがとうございました。m(_ _)m


On Sat, 26 Jul 2008 16:23:06 +0900 (JST)
長南洋一 <cyoichi@xxxxx> wrote:

> 長南です。
>
> # 前のメールの引用はなくてもよいけれど、実行なさったコマンドや、
> # 出たエラーはもっと詳しくお書きになった方がたすかります。
>
> さて、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日 21:44
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75706
トラックバック
コメント
コメントする




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