On Tue, Dec 09, 2008 at 10:27:39PM +0100, Tom G. Christensen wrote: > Hello, > > Using Simons daily-build script I got this failure: > depbase=`echo flock.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ > gcc -std=gnu99 -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" > -DNO_XMALLOC -DEXEEXT=\"\" -I. -I.. -I../intl -D_REENTRANT -g -O2 -MT > flock.o -MD -MP -MF $depbase.Tpo -c -o flock.o flock.c &&\ > mv -f $depbase.Tpo $depbase.Po > flock.c:215:2: error: #error "This platform lacks flock function, and Gnulib > doesn't provide a replacement. This is a bug in Gnulib." > make[4]: *** [flock.o] Error 1 > > This seems to be caused by a bug in flock.c, it checks for HAVE_FLOCK_L_TYPE > but should actually check for HAVE_STRUCT_FLOCK_L_TYPE. > > Fixing that it fails thusly: > depbase=`echo flock.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ > gcc -std=gnu99 -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" > -DNO_XMALLOC -DEXEEXT=\"\" -I. -I.. -I../intl -D_REENTRANT -g -O2 -MT > flock.o -MD -MP -MF $depbase.Tpo -c -o flock.o flock.c &&\ > mv -f $depbase.Tpo $depbase.Po > flock.c: In function 'flock': > flock.c:186: warning: implicit declaration of function 'memset' > flock.c:186: warning: incompatible implicit declaration of built-in function > 'memset' > flock.c:202: error: 'errno' undeclared (first use in this function) > flock.c:202: error: (Each undeclared identifier is reported only once > flock.c:202: error: for each function it appears in.) > flock.c:202: error: 'EINVAL' undeclared (first use in this function) > flock.c:207: error: 'EACCES' undeclared (first use in this function) > flock.c:208: error: 'EAGAIN' undeclared (first use in this function) > make[2]: *** [flock.o] Error 1 > > Adding #include <errno.h> takes care of this error. > Is there no interest in fixing these issues? The flock module also fails to build on Solaris 8 due to this bug.
-tgc