Sep 13, 2009

[PostgreSQL] Ludia 1.5.2 を PostgreSQL 8.3 or later にインストールする

Ludia 1.5.2 を PostgreSQL 8.3 以降にインストールする際の注意事項をメモ。

PostgreSQL 8.4.x にインストールする場合

Ludia 1.5.2 は PostgreSQL 8.4.x には対応していない。 make をしようとすると下記の様なエラーが出る。

$ cd ./ludia-1.5.2
$ make
make  all-am
if /bin/sh ./libtool --mode=compile --tag=CC gcc -D_REENTRANT -I. -I. -I.   -DPOSTGRES84=1 -I/opt/local/include/postgresql84 -I/opt/local/include/postgresql84/server -I/opt/local/include/senna  -Wall -fno-strict-aliasing -g -O2 -MT pgsenna2.lo -MD -MP -MF ".deps/pgsenna2.Tpo" -c -o pgsenna2.lo pgsenna2.c; \
	then mv -f ".deps/pgsenna2.Tpo" ".deps/pgsenna2.Plo"; else rm -f ".deps/pgsenna2.Tpo"; exit 1; fi
mkdir .libs
 gcc -D_REENTRANT -I. -I. -I. -DPOSTGRES84=1 -I/opt/local/include/postgresql84 -I/opt/local/include/postgresql84/server -I/opt/local/include/senna -Wall -fno-strict-aliasing -g -O2 -MT pgsenna2.lo -MD -MP -MF .deps/pgsenna2.Tpo -c pgsenna2.c  -fno-common -DPIC -o .libs/pgsenna2.o
pgsenna2.c: In function 'index_info_open':
pgsenna2.c:366: error: dereferencing pointer to incomplete type
pgsenna2.c:367: error: dereferencing pointer to incomplete type
pgsenna2.c:368: error: dereferencing pointer to incomplete type
pgsenna2.c:378: error: too few arguments to function 'relpath'
pgsenna2.c:400: warning: implicit declaration of function 'smgrGetPendingDeletes'
pgsenna2.c: In function 'scan_stat_close_all':
pgsenna2.c:502: error: dereferencing pointer to incomplete type
pgsenna2.c:503: error: dereferencing pointer to incomplete type
pgsenna2.c:504: error: dereferencing pointer to incomplete type
pgsenna2.c: In function 'pgs2build0':
pgsenna2.c:613: warning: passing argument 4 of 'IndexBuildHeapScan' makes integer from pointer without a cast
pgsenna2.c:613: error: too few arguments to function 'IndexBuildHeapScan'
pgsenna2.c:621: warning: implicit declaration of function 'IndexCloseAndUpdateStats'
pgsenna2.c: In function 'pgs2bulkdelete0':
pgsenna2.c:809: error: 'SnapshotAny' undeclared (first use in this function)
pgsenna2.c:809: error: (Each undeclared identifier is reported only once
pgsenna2.c:809: error: for each function it appears in.)
pgsenna2.c: In function 'pgs2gettuple':
pgsenna2.c:940: error: dereferencing pointer to incomplete type
pgsenna2.c:951: error: dereferencing pointer to incomplete type
pgsenna2.c:951: error: dereferencing pointer to incomplete type
pgsenna2.c:965: error: dereferencing pointer to incomplete type
pgsenna2.c:967: error: dereferencing pointer to incomplete type
pgsenna2.c:973: error: dereferencing pointer to incomplete type
pgsenna2.c:975: error: dereferencing pointer to incomplete type
pgsenna2.c:975: error: dereferencing pointer to incomplete type
pgsenna2.c:975: error: dereferencing pointer to incomplete type
pgsenna2.c:975: error: dereferencing pointer to incomplete type
pgsenna2.c:975: error: dereferencing pointer to incomplete type
pgsenna2.c:975: error: dereferencing pointer to incomplete type
pgsenna2.c: In function 'pgs2getmulti':
pgsenna2.c:994: error: dereferencing pointer to incomplete type
pgsenna2.c:1004: error: dereferencing pointer to incomplete type
pgsenna2.c:1004: error: dereferencing pointer to incomplete type
pgsenna2.c:1020: error: dereferencing pointer to incomplete type
pgsenna2.c:1020: error: dereferencing pointer to incomplete type
pgsenna2.c:1020: error: dereferencing pointer to incomplete type
pgsenna2.c:1020: error: dereferencing pointer to incomplete type
pgsenna2.c: In function 'pgs2rescan':
pgsenna2.c:1048: error: dereferencing pointer to incomplete type
pgsenna2.c:1048: error: dereferencing pointer to incomplete type
pgsenna2.c:1048: warning: left-hand operand of comma expression has no effect
pgsenna2.c:1048: error: dereferencing pointer to incomplete type
pgsenna2.c:1048: warning: left-hand operand of comma expression has no effect
pgsenna2.c:1049: error: dereferencing pointer to incomplete type
pgsenna2.c:1049: error: dereferencing pointer to incomplete type
pgsenna2.c:1049: warning: left-hand operand of comma expression has no effect
pgsenna2.c:1049: error: dereferencing pointer to incomplete type
pgsenna2.c:1049: warning: left-hand operand of comma expression has no effect
pgsenna2.c:1051: error: dereferencing pointer to incomplete type
pgsenna2.c:1052: error: dereferencing pointer to incomplete type
pgsenna2.c:1053: error: dereferencing pointer to incomplete type
pgsenna2.c:1053: error: dereferencing pointer to incomplete type
pgsenna2.c:1054: error: dereferencing pointer to incomplete type
pgsenna2.c:1055: error: dereferencing pointer to incomplete type
pgsenna2.c:1055: error: dereferencing pointer to incomplete type
pgsenna2.c:1055: error: dereferencing pointer to incomplete type
pgsenna2.c:1055: error: dereferencing pointer to incomplete type
pgsenna2.c:1055: error: dereferencing pointer to incomplete type
pgsenna2.c:1055: error: dereferencing pointer to incomplete type
pgsenna2.c:1064: error: dereferencing pointer to incomplete type
pgsenna2.c:1067: error: dereferencing pointer to incomplete type
pgsenna2.c:1068: error: dereferencing pointer to incomplete type
pgsenna2.c:1069: error: dereferencing pointer to incomplete type
pgsenna2.c:1070: error: dereferencing pointer to incomplete type
pgsenna2.c:1071: error: dereferencing pointer to incomplete type
pgsenna2.c:1072: error: dereferencing pointer to incomplete type
pgsenna2.c:1074: error: dereferencing pointer to incomplete type
pgsenna2.c:1076: error: dereferencing pointer to incomplete type
pgsenna2.c:1083: error: dereferencing pointer to incomplete type
pgsenna2.c:1086: error: dereferencing pointer to incomplete type
pgsenna2.c:1117: error: dereferencing pointer to incomplete type
pgsenna2.c: In function 'pgs2endscan':
pgsenna2.c:1130: error: dereferencing pointer to incomplete type
pgsenna2.c: In function 'pgs2costestimate':
pgsenna2.c:1241: error: 'indrel' undeclared (first use in this function)
pgsenna2.c:1275: error: 'indexSelectivity' undeclared (first use in this function)
pgsenna2.c:1277: error: too few arguments to function 'clauselist_selectivity'
pgsenna2.c:1283: error: 'indexTotalCost' undeclared (first use in this function)
pgsenna2.c:1287: error: too few arguments to function 'cost_qual_eval'
pgsenna2.c:1292: error: 'indexStartupCost' undeclared (first use in this function)
pgsenna2.c:1302: error: 'indexCorrelation' undeclared (first use in this function)
pgsenna2.c: In function 'pgs2getscore':
pgsenna2.c:1475: error: dereferencing pointer to incomplete type
make[1]: *** [pgsenna2.lo] Error 1
make: *** [all] Error 2
$
解決策は Ludia が PostgreSQL 8.4 に対応されるのを待つことくらい?? よろしくお願い致しますm(_ _)m > NTT データの中の方々

PostgreSQL 8.3.5 以降にインストールする場合

configure は通るが、make で落ちる。

$ make
make  all-am
if /bin/sh ./libtool --mode=compile --tag=CC gcc -D_REENTRANT -I. -I. -I.   -DPOSTGRES83=1 -I/opt/local/include/postgresql83 -I/opt/local/include/postgresql83/server -I/opt/local/include/senna  -Wall -fno-strict-aliasing -g -O2 -MT pgsenna2.lo -MD -MP -MF ".deps/pgsenna2.Tpo" -c -o pgsenna2.lo pgsenna2.c; \
	then mv -f ".deps/pgsenna2.Tpo" ".deps/pgsenna2.Plo"; else rm -f ".deps/pgsenna2.Tpo"; exit 1; fi
mkdir .libs
 gcc -D_REENTRANT -I. -I. -I. -DPOSTGRES83=1 -I/opt/local/include/postgresql83 -I/opt/local/include/postgresql83/server -I/opt/local/include/senna -Wall -fno-strict-aliasing -g -O2 -MT pgsenna2.lo -MD -MP -MF .deps/pgsenna2.Tpo -c pgsenna2.c  -fno-common -DPIC -o .libs/pgsenna2.o
pgsenna2.c: In function 'pgs2build0':
pgsenna2.c:613: warning: passing argument 4 of 'IndexBuildHeapScan' makes integer from pointer without a cast
pgsenna2.c:613: error: too few arguments to function 'IndexBuildHeapScan'
make[1]: *** [pgsenna2.lo] Error 1
make: *** [all] Error 2
$
PostgreSQL 8.3.5 以降に対応した Ludia が出るのが一番なのだけれど、 matsuou1の日記さんの「PostgreSQL8.3.7にLudia1.5.2をインストールする」に対応方法が記載されている。多謝!!

PostgreSQL 8.3.4 以前にインストールする場合

普通に Ludia 1.5.2 をインストールできる。

Posted in PostgreSQL | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |