[groonga-dev,02896] Re: MariaDB 10.0でMroongaをmakeしようとして失敗する場合の対処

Back to archive index

Kazuhiko kazuh****@fdiar*****
2014年 10月 31日 (金) 18:32:00 JST


こんにちは。

On 31/10/2014 09:55, yoku ts. wrote:
> MariaDB v10.0.3とMroonga v4.0.5インストール時にmakeでERRORになった話 - kazukiyunoue-tech
> http://kazukiyunoue-tech.hatenablog.com/entry/2014/09/12/122232
> 
> pcre/pcre.hが見つからなくてという話ですが、これはcmakeした時にpcre/pcre.h.inから作られるファイルです。
> そのため、Mroongaのmake前にMariaDBのcmakeが必要になります。
> 
> https://gist.github.com/yoku0825/c632cf06ae81655e6054
> 
> …というのが、 http://mroonga.org/ja/docs/install/others.html#build-from-source
> に書いてあるといいかなとか思いました!

私も、MariaDBのインストール後に make clean したあとで、Mroongaをインス
トールしようとして、同じことが起きました。

pcre.h.inとpcre.hの違いって、

@@ -41,10 +41,10 @@

 /* The current PCRE version information. */

-#define PCRE_MAJOR          @PCRE_MAJOR@
-#define PCRE_MINOR          @PCRE_MINOR@
-#define PCRE_PRERELEASE     @PCRE_PRERELEASE@
-#define PCRE_DATE           @PCRE_DATE@
+#define PCRE_MAJOR          8
+#define PCRE_MINOR          36
+#define PCRE_PRERELEASE
+#define PCRE_DATE           2014-09-26

 /* When an application links to a PCRE DLL in Windows, the symbols that are
 imported have to be identified as such. When building PCRE, the appropriate

だけなので、たったこれだけのためにMariaDBのソースだけではMroongaをビルド
できない、というのも何だかもったいない話な気はします。

MariaDBが、make install時に、include/mysql/に pcre.hもコピーしてくれたら
一番いいのかな。実際、ソースだけでなく、
(install_dir)/include/mysql/private/item_cmpfunc.h:#include "pcre.h"
というのもあるのだし、システムにpcreがないなどでMariaDB同梱のpcreをビル
ドしているケースのことを考えると、pcre.hもインストールされてしかるべきな
気はします。

(私は、自前のpcreを使うように指定してMariaDBをビルドしているので、
Mroongaのビルド時に再び自前のpcreのヘッダのディレクトリをCPPFLAGSで指定
してMroongaをビルドしました)

Mroongaでできるワークアラウンドとしては、mroongaのconfigureがMariaDBの場
合はpcre.hの有無を調べて、無かったらpcre.h.inを試すようにするとか?
ビルドする人にできるワークアラウンドとしては、システムにpcre-devみたいな
パッケージを入れてもいいけれど、それだとバージョンのミスマッチがありえそ
うで嫌な感じですよね。

かずひこ




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