[groonga-dev,01359] Re: mysql 5.6.11でmroonga 3.03をビルドするとエラー

Back to archive index

yoku ts. yoku0****@gmail*****
2013年 5月 2日 (木) 19:20:38 JST


林さん
こんばんは。

mysql_config --variable=pkglibdirで回避できるかと思っていちおうpatchを作ってみました。
i686ではmakeできるようになってることが確認できてます。

すっきりしました。


yoku

2013年5月2日 19:02 HAYASHI Kentaro <hayas****@clear*****>:
>
> 林です。
>
> 手元で再現できていた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*****>
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev



groonga-dev メーリングリストの案内
Back to archive index