トップ «前の日記(2009-11-20) 最新 次の日記(2010-03-01)» 編集

3 日坊主日記


2009-11-30 [長年日記]

_ senna 1.1.4 macports

先日オープンセミナー広島でpostgresqlでの全文検索の仕組みとしてtextsearch_ja textsearch_sennaについて発表しました。

発表内容は後で書く。

その前にsenna 1.1.4 on macosx (macports)はreallocでこけるのでpatchをあてた話を忘れないうちにまとめ。

patchはこちら(てきとう)。

$ cat files/patch-lib-ctx.c.diff
--- lib/ctx.c.orig	2008-11-14 21:41:14.000000000 +0900
+++ lib/ctx.c	2009-11-26 03:04:51.000000000 +0900
@@ -646,10 +646,8 @@
   void *res;
   if (!size) {
     alloc_count--;
-#if defined __FreeBSD__
     free(ptr);
     return NULL;
-#endif /* __FreeBSD__ */
   }
   res = realloc(ptr, size);
   if (!ptr && res) { alloc_count++; }

macportsでpatchをあてる手順を確認。 macportsのドキュメントはこちら。

macportsのlocal reposを用意する。

mkdir /Users/moriq/ports

dir構成をまねしてPortfileをcp

/Users/moriq/ports/textprocs/senna/Portfile

Portfileの内容が簡潔すぎてびびる。

portindexを実行。

cd /Users/moriq/ports
portindex

sources.confで指定

/opt/local/etc/macports/sources.conf:
file:///Users/moriq/ports

認識しているか

port file senna

で確認。

patchを作ってfilesに置く。 Portfileでpatchfilesを指定。

patchfiles          patch-lib-ctx.c.diff

いじょ。

後はinstallだけど手順を段階的に確認することもできる。

port extract senna
port patch senna
port configure senna
port build senna
port install senna

できた。

[]