Archive for the Category » ミドルウェア «

水曜日, 6 月 30th, 2010 | Author: djodjo

備忘録
SELECT format_type(p.prorettype, NULL) as “Result data type”,
p.proname as “Name”,
oidvectortypes(p.proargtypes) as “Argument data types”
FROM pg_proc p
WHERE p.prorettype <> 0 AND (pronargs = 0 OR oidvectortypes(p.proargtypes) <> ”)
AND
p.oid > (SELECT datlastsysoid FROM pg_database WHERE datname = ‘template1′)
ORDER BY 2, 1, 3;

火曜日, 3 月 09th, 2010 | Author: djodjo

memcachedを構築する手順。
CentOS5へ導入

特につまるところはなかったかな。

1.libeventのインストール
wget http://www.monkey.org/~provos/libevent-1.4.10-stable.tar.gz
tar -vxzf libevent-1.4.10-stable.tar.gz
cd libevent-1.4.10-stabl
./configure
make
make install

2.memcachedのインストール
wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
cd memcached-1.4.4
./configure
make
make install

3.起動方法
daemonモード
memcached -p 11211 -m 64m -u ユーザ名 -d

火曜日, 3 月 02nd, 2010 | Author: djodjo

遅まきながらmemcachedを触りはじめました。
ところが、libmemcachedのコンパイルでつまづく。

clients/ms_conn.o: In function `ms_get_udp_request_id’:
/usr/local/src/libmemcached-0.38/clients/ms_conn.c:194: undefined reference to `__sync_fetch_and_add_4′
clients/ms_conn.o: In function `ms_reconn_socks’:
/usr/local/src/libmemcached-0.38/clients/ms_conn.c:1051: undefined reference to `__sync_fetch_and_add_4′
clients/ms_conn.o: In function `ms_reconn’:
/usr/local/src/libmemcached-0.38/clients/ms_conn.c:919: undefined reference to `__sync_fetch_and_add_4′
/usr/local/src/libmemcached-0.38/clients/ms_conn.c:956: undefined reference to `__sync_fetch_and_add_4′
clients/ms_thread.o: In function `ms_setup_thread’:
/usr/local/src/libmemcached-0.38/clients/ms_thread.c:225: undefined reference to `__sync_fetch_and_add_4′
clients/ms_thread.o:/usr/local/src/libmemcached-0.38/clients/ms_thread.c:208: more undefined references to `__sync_fetch_and_add_4′ follow
collect2: ld returned 1 exit status
make[2]: *** [clients/memslap] Error 1
make[2]: Leaving directory `/usr/local/src/libmemcached-0.38′
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/libmemcached-0.38′
make: *** [all] Error 2

どうも、__sync_fetch_and_add_4がないとか。何かリンクできていないのか。
とググってみると、libmemcachedではないけど、gccやglibなどのmakeではまっている方を発見。なるほど、ヒントがありました。
アーキテクチャの指定がきちんとできていないための模様。なので

export CFLAGS=”-march=i686″
./configure
make

これでOK!!!