>>>>> "David" == David Fuchs <[EMAIL PROTECTED]> writes:

    David> It seems that I'm missing a library that contains a
    David> required function called fdatasync(). `configure' checks
    David> for the existence of this function in -lrt, but doesn't
    David> find it (I have no librt.so).

To work around this, I added the following near the top of
lib/lib/cyrusdb_skiplist.c.  I haven't done much testing with skiplist
databases yet, but it seems to work OK.

#ifdef __FreeBSD__
#define fdatasync(fd)   fsync(fd)
#endif
 
fdatasync() just flushes modified data blocks whereas fsync() flushes
both data blocks and attributes (inode info), so subsituting fsync()
for fdatasync() should be OK.

-- Bob

Reply via email to