[pgpool-general: 876] Re: pgpool-II 3.2.0 build fails on Solaris 10

Kuczynski, Rafal (LNG-POL) Rafal.Kuczynski at lexisnexis.pl
Tue Aug 7 17:14:07 JST 2012

I have the same problem on Solaris 10 x86, it seems to be a global problem with pgpool 3.2 on Solaris platforms, because there is no flock functions on Solaris, but only in "BSD Compatibility Library Functions" (/usr/ucblib/libucb.a)

According to the manual of flock:
"Use of these interfaces should be restricted to only  appli-
cations  written  on BSD platforms.  Use of these interfaces
with any of the system libraries or in multi-thread applica-
tions is unsupported."

Afaik the right solutions of file locking in Solaris is to use lockf(3C) function http://www.s-gms.ms.edus.si/cgi-bin/man-cgi?lockf+3C



-----Original Message-----
From: pgpool-general-bounces at pgpool.net [mailto:pgpool-general-bounces at pgpool.net] On Behalf Of Tatsuo Ishii
Sent: Tuesday, August 07, 2012 2:04 AM
To: sandeeptt at yahoo.com
Cc: pgpool-general at pgpool.net
Subject: [pgpool-general: 871] Re: pgpool-II 3.2.0 build fails on Solaris 10

> Hi,
> I get the following build error on Solaris 10 sparc:
> --
> make[2]: Entering directory `/export/home/sandy/pgpool-II-3.2.0'
> gcc -DHAVE_CONFIG_H -DDEFAULT_CONFIGDIR=\"/export/home/sandy/pgpool-II-3.2.0/inst/etc\" -I.  -D_GNU_SOURCE -I /usr/include/pgsql   -g -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -MT pool_memqcache.o -MD -MP -MF .deps/pool_memqcache.Tpo -c -o pool_memqcache.o pool_memqcache.c
> pool_memqcache.c: In function `pool_add_table_oid_map':
> pool_memqcache.c:1232: warning: implicit declaration of function `flock'
> pool_memqcache.c:1232: error: `LOCK_EX' undeclared (first use in this function)
> pool_memqcache.c:1232: error: (Each undeclared identifier is reported only once
> pool_memqcache.c:1232: error: for each function it appears in.)
> pool_memqcache.c: In function `pool_invalidate_query_cache':
> pool_memqcache.c:1410: error: `LOCK_EX' undeclared (first use in this function)
> pool_memqcache.c: At top level:
> pool_memqcache.c:161: fatal error: opening dependency file .deps/pool_memqcache.Tpo: Permission denied
> compilation terminated.
> make[2]: *** [pool_memqcache.o] Error 1
> make[2]: Leaving directory `/export/home/sandy/pgpool-II-3.2.0'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/export/home/sandy/pgpool-II-3.2.0'
> make: *** [all] Error 2

It seems there's problem to use flock(2) in Solaris. I don' have
access to Solaris/space and cannot fix it at this moment. Anybody
volunteers to fix this?
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp
pgpool-general mailing list
pgpool-general at pgpool.net

More information about the pgpool-general mailing list