[groonga-dev,01891] Re: el5の環境でgroonga 3.0.9でビルドが通らない。

Back to archive index

HAYASHI Kentaro hayas****@clear*****
2013年 10月 30日 (水) 19:44:43 JST


林です。

いつもお世話になっております。

On Wed, 30 Oct 2013 17:24:16 +0900
WING☆ <wings****@wing-*****> wrote:

> WING☆です。
> いつもお世話になっております。
> 
> CentOS 5で先日リリースされました3.0.9をビルドしようとしたところ
> 下記のようなエラーが発生しました。
> 
> make[3]: Entering directory `/usr/src/redhat/BUILD/groonga-3.0.9/benchmark'
>   CC     bench-table-factory.o
>   CXXLD  bench-table-factory
>   CC     bench-geo-distance.o
>   CXXLD  bench-geo-distance
>   CC     bench-geo-select.o
>   CXXLD  bench-geo-select
>   CC     bench-ctx-create.o
> bench-ctx-create.c: In function 'get_memory_usage':
> bench-ctx-create.c:47: error: 'GRegex' undeclared (first use in this
> function)
> bench-ctx-create.c:47: error: (Each undeclared identifier is reported
> only once
> bench-ctx-create.c:47: error: for each function it appears in.)
> bench-ctx-create.c:47: error: 'vm_rss_pattern' undeclared (first use in
> this function)
> bench-ctx-create.c:48: warning: ISO C90 forbids mixed declarations and code
> bench-ctx-create.c:49: error: 'GMatchInfo' undeclared (first use in this
> function)
> bench-ctx-create.c:49: error: 'match_info' undeclared (first use in this
> function)
> bench-ctx-create.c:50: warning: ISO C90 forbids mixed declarations and code
> bench-ctx-create.c:55: warning: implicit declaration of function
> 'g_regex_new'
> bench-ctx-create.c:56: warning: implicit declaration of function
> 'g_regex_match'
> bench-ctx-create.c:60: warning: implicit declaration of function
> 'g_match_info_fetch'
> bench-ctx-create.c:60: warning: assignment makes pointer from integer
> without a cast
> bench-ctx-create.c:63: warning: implicit declaration of function
> 'g_match_info_free'
> bench-ctx-create.c:64: warning: implicit declaration of function
> 'g_regex_unref'
> make[3]: *** [bench-ctx-create.o] Error 1
> make[3]: Leaving directory `/usr/src/redhat/BUILD/groonga-3.0.9/benchmark'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/usr/src/redhat/BUILD/groonga-3.0.9/benchmark'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/usr/src/redhat/BUILD/groonga-3.0.9'
> make: *** [all] Error 2
> 

ログを見る限りでは、--enable-benchmarkを指定しているのが原因じゃないかと
思います。リリースしているほうだとこれは有効になっていません。

ではglib2-develがインストールされているのであれば問題ないかというとそうでもないです。
というのもCentOS 5で提供されているGLibはバージョンが2.12と古いからです。
GRegexは2.14以降でサポートされているので、ディストリビューションで提供されている
GLibではビルドできません。
https://developer.gnome.org/glib/2.30/glib-Perl-compatible-regular-expressions.html

> 以前にもメモリーの使用量が多く、メモリーを増やしたりしてみましたが、
> 改善が見られず、CentOS 6(32/64bit)ですと特に問題なくビルドできること
> から、別の環境的な何かでエラーが発生しているものと推測しました。

CentOS 6ではもう少し新しいバージョンが提供されているので問題にならないのだと
思います。これはCentOS 5でだけ失敗するというのと合致しています。

> 念のため3GBくらいまで増やしてみましたが、同じエラーでした。
> また、32/64bit両方とも同じ結果です。
> SPECファイルの中身は3.0.9のsrc.rpmと全く同じです。(diffで確認済み)
> 

SPECファイルが同じだとすると、rpmbuildでビルドするときに追加のオプション(--enable-benchmark)
を渡しているんじゃないかなぁと予想しました。次のようにSPECがなっているので。

%if %{use_additional_configure_options}
  %{additional_configure_options}
%endif

> もしも、何かお気づきの点などがございましたら、ご教示頂けますでしょうか。
> 必要な情報がございましたら、ご提示いたします。
> 
> 何卒、宜しくお願い致します。
> -- 
> ━━━━━━━━━━━━………‥‥‥・・・
> 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


-- 
株式会社クリアコード
林 健太郎 <hayas****@clear*****>
〒113-0033 東京都文京区本郷3-27-12
TEL:03-6231-7270 FAX:03-6231-7271

groongaサポートサービスはじめました。
http://groonga.org/ja/support/




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