HAYASHI Kentaro
hayas****@clear*****
2013年 5月 2日 (木) 19:02:15 JST
林です。 手元で再現できていたCentOS 5 i386な環境でも明示的にディレクトリを作ってあげると ビルドが通るようになったことを確認しました。 こちらでなかなか再現していなかったのは、/usr/lib/mysql/pluginディレクトリが残ったままに なっていたっぽいですね。見落としていました。 mysql56-serverをインストールするとビルドできるようになるというのも、 /usr/lib/mysq/plugin/以下にsoがインストールされるからということで説明がつきます。 ありがとうございます。 助かりました。 このへんを踏まえた対処を入れておきます。 On Thu, 2 May 2013 18:14:36 +0900 "yoku ts." <yoku0****@gmail*****> wrote: > 何度も何度もすいません。。 > > 何が起きているのか判りませんが、i686のCentOS6.3では/usr/lib/mysql/pluginディレクトリを作ってやったらmakeが通るようになりました。 > > # make > make all-recursive > .. > libtool: link: g++ -fPIC -DPIC -shared -nostdlib > /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../crti.o > /usr/lib/gcc/i686-redhat-linux/4.4.7/crtbeginS.o > .libs/ha_mroonga_la-mrn_sys.o .libs/ha_mroonga_la-ha_mroonga.o > .libs/ha_mroonga_la-mrn_table.o -Wl,--whole-archive > ./lib/.libs/libmrn_no_mysql.a ./lib/.libs/libmrn_need_mysql.a > -Wl,--no-whole-archive -lgroonga -L/usr/lib/mysql/plugin/.. > -lmysqlservices -L/usr/lib/gcc/i686-redhat-linux/4.4.7 > -L/usr/lib/gcc/i686-redhat-linux/4.4.7/../../.. -lstdc++ -lm -lc > -lgcc_s /usr/lib/gcc/i686-redhat-linux/4.4.7/crtendS.o > /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../crtn.o -O2 > -Wl,-soname -Wl,ha_mroonga.so.0 -o .libs/ha_mroonga.so.0.0.0 > /usr/bin/ld: cannot find -lmysqlservices > collect2: ld returned 1 exit status > make[2]: *** [ha_mroonga.la] Error 1 > make[2]: Leaving directory `/root/mroonga-3.03' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/root/mroonga-3.03' > make: *** [all] Error 2 > > > # mkdir /usr/lib/mysql/plugin > # make clean > # make > make all-recursive > .. > libtool: link: ranlib .libs/ha_groonga.a > libtool: link: rm -fr .libs/ha_groonga.lax > libtool: link: ( cd ".libs" && rm -f "ha_groonga.la" && ln -s > "../ha_groonga.la" "ha_groonga.la" ) > make[2]: Leaving directory `/root/mroonga-3.03' > make[1]: Leaving directory `/root/mroonga-3.03' > > > > # rmdir /usr/lib/mysql/plugin > # make clean > # make > .. > make all-recursive > .. > libtool: link: g++ -fPIC -DPIC -shared -nostdlib > /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../crti.o > /usr/lib/gcc/i686-redhat-linux/4.4.7/crtbeginS.o > .libs/ha_mroonga_la-mrn_sys.o .libs/ha_mroonga_la-ha_mroonga.o > .libs/ha_mroonga_la-mrn_table.o -Wl,--whole-archive > ./lib/.libs/libmrn_no_mysql.a ./lib/.libs/libmrn_need_mysql.a > -Wl,--no-whole-archive -lgroonga -L/usr/lib/mysql/plugin/.. > -lmysqlservices -L/usr/lib/gcc/i686-redhat-linux/4.4.7 > -L/usr/lib/gcc/i686-redhat-linux/4.4.7/../../.. -lstdc++ -lm -lc > -lgcc_s /usr/lib/gcc/i686-redhat-linux/4.4.7/crtendS.o > /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../crtn.o -O2 > -Wl,-soname -Wl,ha_mroonga.so.0 -o .libs/ha_mroonga.so.0.0.0 > /usr/bin/ld: cannot find -lmysqlservices > collect2: ld returned 1 exit status > make[2]: *** [ha_mroonga.la] Error 1 > make[2]: Leaving directory `/root/mroonga-3.03' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/root/mroonga-3.03' > make: *** [all] Error 2 > > なんでしょうね。。 > お知らせまで。 > > > yoku > > 2013年4月30日 14:26 yoku ts. <yoku0****@gmail*****>: > > たびたびすいません。 > > > > x86_64版も/usrにMySQLを入れると/usr/lib64/mysqlの下にlibmysqlservices.aが行くっぽいので、 > > mysql_configのバグな気がしてきました。 > > > > [yoku0825 @ personal wing]$ ll 5.6.11_usr_x86/lib64/mysql/ > > 合計 18996 > > -rw-r--r-- 1 yoku0825 yoku0825 19432624 4月 30 14:07 2013 libmysqlclient.a > > lrwxrwxrwx 1 yoku0825 yoku0825 16 4月 30 14:07 2013 > > libmysqlclient_r.a -> libmysqlclient.a > > -rw-r--r-- 1 yoku0825 yoku0825 14814 4月 30 14:07 2013 libmysqlservices.a > > > > > > yoku ts. > > > > 2013年4月30日 14:24 yoku ts. <yoku0****@gmail*****>: > >> こんにちは、yokuといいます。 > >> > >> OracleビルドのMySQL-Devel 5.6.11のx86_64版とi686のmysql_configの動きを眺めてみたのですが、 > >> なんかちょっと動きが違うみたいです。 > >> (rpmファイルをrpm2cpioでほどいたmysql_configの動作です) > >> > >> > >> [yoku0825 @ personal wing]$ pwd > >> /home/yoku0825/wing > >> > >> [yoku0825 @ personal wing]$ ./5.6.11_usr_i686/bin/mysql_config > >> Usage: ./5.6.11_usr_i686/bin/mysql_config [OPTIONS] > >> Options: > >> --cflags > >> [-I/home/yoku0825/wing/5.6.11_usr_i686/include/mysql -g -pipe > >> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > >> --param=ssp-buffer-size=4 -m32 -fasynchronous-unwind-tables -fPIC -g > >> -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing > >> -DMY_PTHREAD_FASTMUTEX=1] > >> --cxxflags > >> [-I/home/yoku0825/wing/5.6.11_usr_i686/include/mysql -g -pipe > >> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > >> --param=ssp-buffer-size=4 -m32 -fasynchronous-unwind-tables > >> -felide-constructors -fPIC -Wno-unused-parameter -g -fabi-version=2 > >> -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1] > >> --include [-I/home/yoku0825/wing/5.6.11_usr_i686/include/mysql] > >> --libs > >> [-L/home/yoku0825/wing/5.6.11_usr_i686/lib/mysql -lmysqlclient > >> -lpthread -lm -lrt -ldl] > >> --libs_r > >> [-L/home/yoku0825/wing/5.6.11_usr_i686/lib/mysql -lmysqlclient_r > >> -lpthread -lm -lrt -ldl] > >> --plugindir [/usr/lib/mysql/plugin] > >> --socket [/var/lib/mysql/mysql.sock] > >> --port [0] > >> --version [5.6.11] > >> --libmysqld-libs > >> [-L/home/yoku0825/wing/5.6.11_usr_i686/lib/mysql -lmysqld -lpthread > >> -lm -lrt -lcrypt -ldl -laio] > >> --variable=VAR VAR is one of: > >> pkgincludedir > >> [/home/yoku0825/wing/5.6.11_usr_i686/include/mysql] > >> pkglibdir [/home/yoku0825/wing/5.6.11_usr_i686/lib/mysql] > >> plugindir [/usr/lib/mysql/plugin] > >> > >> [yoku0825 @ personal wing]$ ./5.6.11_usr_x86/bin/mysql_config > >> Usage: ./5.6.11_usr_x86/bin/mysql_config [OPTIONS] > >> Options: > >> --cflags > >> [-I/home/yoku0825/wing/5.6.11_usr_x86/include/mysql -g -pipe > >> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > >> --param=ssp-buffer-size=4 -m64 -fPIC -g -fabi-version=2 > >> -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1] > >> --cxxflags > >> [-I/home/yoku0825/wing/5.6.11_usr_x86/include/mysql -g -pipe > >> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > >> --param=ssp-buffer-size=4 -m64 -felide-constructors -fPIC > >> -Wno-unused-parameter -g -fabi-version=2 -fno-omit-frame-pointer > >> -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1] > >> --include [-I/home/yoku0825/wing/5.6.11_usr_x86/include/mysql] > >> --libs [-L/usr/lib64 -lmysqlclient -lpthread -lm -lrt -ldl] > >> --libs_r [-L/usr/lib64 -lmysqlclient_r -lpthread -lm -lrt -ldl] > >> --plugindir [/usr/lib64/mysql/plugin] > >> --socket [/var/lib/mysql/mysql.sock] > >> --port [0] > >> --version [5.6.11] > >> --libmysqld-libs [-L/usr/lib64 -lmysqld -lpthread -lm -lrt > >> -lcrypt -ldl -laio] > >> --variable=VAR VAR is one of: > >> pkgincludedir [/home/yoku0825/wing/5.6.11_usr_x86/include/mysql] > >> pkglibdir [/usr/lib64] > >> plugindir [/usr/lib64/mysql/plugin] > >> > >> > >> --libs, --libs_r, --libmysqld-libs, > >> --variable=pkglibdirで戻す値が、i686版はmysql_configから見た../lib/mysqlですが、 > >> x86_64は/usr/lib64で決め打たれているぽいです。 > >> /usrにMySQLが入っていたとして、/usr/lib/mysqlと/usr/lib64なのでちょっと気持ち悪いですね。。 > >> > >> 直接影響しているかどうかは判りませんが、お知らせまで。。 > >> > >> > >> yoku ts. > >> > >> 2013年4月30日 14:05 WING☆ <wings****@wing-*****>: > >>> 林様 > >>> > >>> いつもお世話になっております。 > >>> WING☆です。 > >>> > >>> http://sourceforge.jp/projects/groonga/lists/archive/dev/2013-March/001240.html > >>> こちらにも書きましたが、mysql公式rpmでもこのようなことがありましたので、 > >>> ヒントになればと思っています。 > >>> > >>> 一応ビルドできないわけではないし、自前でrpm作る人も数が少ない > >>> と思いますので大きな問題ではないと思いますので、お時間のある > >>> 時にでも調査頂けると幸いです。 > >>> > >>> もしも、私の環境が悪いという可能性もありますので、必要な情報が > >>> ありましたらご指示下さい。 > >>> > >>> お手数をおかけしますが、宜しくお願い致します。 > >>> > >>> > >>> > >>> > >>> (2013/04/30 13:07), HAYASHI Kentaro wrote: > >>>> > >>>> 林です。 > >>>> > >>>> お世話になっております。 > >>>> > >>>> リリース用のパッケージはchroot環境でビルドするようになっているので > >>>> そちらのビルドログ(CentOS 5/i386)の該当箇所周辺を漁ってみました。 > >>>> > >>>> libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crti.o /usr/lib/gcc/i386-redhat-linux/4.1.2/crtbeginS.o .libs/ha_mroonga_la-mrn_sys.o .libs/ha_mroonga_la-ha_mroonga.o .libs/ha_mroonga_la-mrn_table.o -Wl,--whole-archive ./lib/.libs/libmrn_no_mysql.a ./lib/.libs/libmrn_need_mysql.a -Wl,--no-whole-archive -lgroonga -L/usr/lib/mysql/plugin/.. -lmysqlservices -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i386-redhat-linux/4.1.2/crtendS.o /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crtn.o -m32 -O2 -m32 -march=i386 -mtune=generic -Wl,-soname -Wl,ha_mroonga.so.0 -o .libs/ha_mroonga.so.0.0.0 > >>>> libtool: link: (cd ".libs" && rm -f "ha_mroonga.so.0" && ln -s "ha_mroonga.so.0.0.0" "ha_mroonga.so.0") > >>>> libtool: link: (cd ".libs" && rm -f "ha_mroonga.so" && ln -s "ha_mroonga.so.0.0.0" "ha_mroonga.so") > >>>> libtool: link: ( cd ".libs" && rm -f "ha_mroonga.la" && ln -s "../ha_mroonga.la" "ha_mroonga.la" ) > >>>> mv -f .deps/ha_groonga_la-ha_mroonga.Tpo .deps/ha_groonga_la-ha_mroonga.Plo > >>>> > >>>> ぱっと見には違いがないように見えますねぇ。 > >>>> -marchが違うくらいですし。。。 > >>>> > >>>> bash-3.2# rpm -qa|grep -i mysql > >>>> MySQL-devel-5.6.11-1.rhel5 > >>>> groonga-normalizer-mysql-1.0.3-0 > >>>> > >>>> 時間のあるときにでも、他の環境で追試してみたいと思います。 > >>>> > >>>> > >>>> On Sun, 28 Apr 2013 03:34:12 +0900 > >>>> WING☆ <wings****@wing-*****> wrote: > >>>> > >>>>> WING☆です。 > >>>>> いつも大変お世話になっております。 > >>>>> > >>>>> すみません。 > >>>>> 自己レスです。 > >>>>> > >>>>> 結論から言いますと解決しました。 > >>>>> 原因は、 > >>>>> [groonga-dev,01240] Re: mysql 5.6.10でmroongaをビルドするとエラー > >>>>> と同じでした。 > >>>>> mysql56-serverをインストールした状態であればOKというもの。 > >>>>> しかし、不思議なことに遭遇しました。 > >>>>> > >>>>> serverパッケージをインストールしない状態でmroongaをビルドしたところ、 > >>>>> CentOS 5 i386 → × > >>>>> CentOS 5 x86_64 → × > >>>>> CentOS 6 i386 → ○ > >>>>> CentOS 6 x86_64 → × > >>>>> となり、6の32bit版だけビルドが正常に出来ており、他がダメ。 > >>>>> その後、3つの環境にserverパッケージを入れてビルドしたところ3つとも > >>>>> OKでした。 > >>>>> > >>>>> このあたり、お時間のある時にでも解析して頂けると幸いです。 > >>>>> > >>>>> どうぞ、宜しくお願い致します。 > >>>>> > >>>>> # 公式アナウンス後、私もアナウンスしたいと思います。 > >>>>> # それまで動作チェックを… > >>>>> > >>>>> > >>>>> > >>>>> (2013/04/28 0:56), WING☆ wrote: > >>>>>> WING☆です。 > >>>>>> いつも大変お世話になっております。 > >>>>>> > >>>>>> まだ新しいバージョンのアナウンスがされていませんので、 > >>>>>> MLに投げるのを躊躇してしまいましたが、投げることにしました。 > >>>>>> (申し訳ありません。) > >>>>>> > >>>>>> 以前、 > >>>>>> [groonga-dev,01227] mysql 5.6.10でmroongaをビルドするとエラー > >>>>>> では、解決したのですが、今回またもやエラーは発生しました。 > >>>>>> > >>>>>> 今回ビルドしたのは、まだアナウンス前の最新3.03を試していて > >>>>>> 発生したものです。 > >>>>>> groongaも同様に3.0.3やnormalizerの1.0.3を使用しておりますが、 > >>>>>> こちらは問題ありませんでした。 > >>>>>> > >>>>>> ■ 環境 > >>>>>> ・mroonga-3.03(ANN前…)をビルドしようとしてエラー > >>>>>> ・CentOS 5(i386/x86_64) > >>>>>> ・groonga-3.0.3(ANN前…) > >>>>>> ・groonga-normalizer-mysql-1.0.3(ANN前…) > >>>>>> ・wingリポジトリのmysql56-5.6.11 > >>>>>> --- > >>>>>> [root @ i386-el5 ~]# rpm -qa|grep groonga > >>>>>> groonga-libs-3.0.3-1.el5_11.wing > >>>>>> groonga-normalizer-mysql-1.0.3-1.el5_2.wing > >>>>>> groonga-normalizer-mysql-devel-1.0.3-1.el5_2.wing > >>>>>> groonga-plugin-suggest-3.0.3-1.el5_11.wing > >>>>>> groonga-3.0.3-1.el5_11.wing > >>>>>> groonga-devel-3.0.3-1.el5_11.wing > >>>>>> --- > >>>>>> [root @ i386-el5 ~]# ls /usr/lib/mysql/libmysqlservices.a > >>>>>> /usr/lib/mysql/libmysqlservices.a > >>>>>> --- > >>>>>> libtool: link: g++ -fPIC -DPIC -shared -nostdlib > >>>>>> /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crti.o > >>>>>> /usr/lib/gcc/i386-redhat-linux/4.1.2/crtbeginS.o > >>>>>> .libs/ha_mroonga_la-mrn_sys.o .libs/ha_mroonga_la-ha_mroonga.o > >>>>>> .libs/ha_mroonga_la-mrn_table.o -Wl,--whole-archive > >>>>>> ./lib/.libs/libmrn_no_mysql.a ./lib/.libs/libmrn_need_mysql.a > >>>>>> -Wl,--no-whole-archive -lgroonga -L/usr/lib/mysql/plugin/.. > >>>>>> -lmysqlservices -L/usr/lib/gcc/i386-redhat-linux/4.1.2 > >>>>>> -L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.. -lstdc++ -lm -lc -lgcc_s > >>>>>> /usr/lib/gcc/i386-redhat-linux/4.1.2/crtendS.o > >>>>>> /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crtn.o -m32 -O2 -m32 > >>>>>> -march=i686 -mtune=generic -Wl,-soname -Wl,ha_mroonga.so.0 -o > >>>>>> .libs/ha_mroonga.so.0.0.0 > >>>>>> /usr/bin/ld: cannot find -lmysqlservices > >>>>>> collect2: ld returned 1 exit status > >>>>>> make[2]: *** [ha_mroonga.la] エラー 1 > >>>>>> make[2]: ディレクトリ `/usr/src/redhat/BUILD/mroonga-3.03' から出ます > >>>>>> make[1]: *** [all-recursive] エラー 1 > >>>>>> make[1]: ディレクトリ `/usr/src/redhat/BUILD/mroonga-3.03' から出ます > >>>>>> make: *** [all] エラー 2 > >>>>>> --- > >>>>>> > >>>>>> また、不思議なのですが、公式のMySQL-devel-5.6.11-1.rhel5を > >>>>>> インストールしてビルドしようとしても同様のエラーになって > >>>>>> しまった点です。 > >>>>>> > >>>>>> mroonga公式リポジトリにはビルド済みrpmがあることから、私の > >>>>>> 環境が悪いのかと思いますが、インストール漏れやお気づきの点 > >>>>>> などがございましたら、ご指摘いただけますでしょうか。 > >>>>>> > >>>>>> まだ、アナウンス前の新しいバージョンで申し訳ありませんが、 > >>>>>> 宜しくお願い致します。 > >>>>>> > >>>>> > >>>>> > >>>>> -- > >>>>> ━━━━━━━━━━━━………‥‥‥・・・ > >>>>> WING☆ > >>>>> http://wingse.blog57.fc2.com/ > >>>>> http://sourceforge.jp/projects/wing-repo/ > >>>>> twitter:wingstars555 > >>>>> Facebook:http://facebook.com/ason.fukui.5 > >>>>> ━━━━━━━━━━━━……‥‥・・ > >>>>> > >>>>> _______________________________________________ > >>>>> groonga-dev mailing list > >>>>> groon****@lists***** > >>>>> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev > >>>> > >>>> > >>> > >>> > >>> -- > >>> ━━━━━━━━━━━━………‥‥‥・・・ > >>> WING☆ > >>> http://wingse.blog57.fc2.com/ > >>> http://sourceforge.jp/projects/wing-repo/ > >>> twitter:wingstars555 > >>> Facebook:http://facebook.com/ason.fukui.5 > >>> ━━━━━━━━━━━━……‥‥・・ > >>> > >>> _______________________________________________ > >>> groonga-dev mailing list > >>> groon****@lists***** > >>> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev -- HAYASHI Kentaro <hayas****@clear*****>