長南様 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@xxxxxxxxxxxxxxx> 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-* が実際に使えるかどうかは > わかりませんけれど。 > > -- > 長南洋一 >