I have a fix for this in 4.10.18.
In configure.in around line 792
AC_CHECK_FUNCS(getcwd mkdir strdup strstr fdatasync )
This will create a #define HAVE_FDATASYNC 1
in config.h if it is on the system.
Then in vdelivermail.c around line 538:
#ifdef HAVE_FDATASYNC
if ( fdatasync(write_fd) == 0
#else
if ( fsync(write_fd) == 0
#endif
&& close(write_fd) == 0 ) {
If you want to test it, you can pick up a copy from:
http://www.inter7.com/vpopmail/vpopmail-4.10.18.tar.gz
Ken
Marcus Williams wrote:
>
> Hi -
>
> I dont think FreeBSD has an fdatasync() function but you can replace
> this call directly for an fsync() function call (although it is
> slightly slower). Just change the word fdatasync to fsync.
>
> Marcus
>
> > -----Original Message-----
> > From: Ryan Duda [mailto:[EMAIL PROTECTED]]
> > Subject: Problems Compiling 4.10.17.
> >
> >
> > Under FreeBSD 4.3-S
> >
> > gcc -I. -I/usr/local/include/mysql -g -O2 -Wall -c
> > vdelivermail.c
> > vdelivermail.c: In function `deliver_mail':
> > vdelivermail.c:454: warning: long unsigned int format,
> > unsigned int arg (arg 4)
> > vdelivermail.c:454: warning: long unsigned int format,
> > different type arg
> > (arg 7)
> > vdelivermail.c:456: warning: long unsigned int format,
> > unsigned int arg (arg 4)
> > vdelivermail.c:456: warning: long unsigned int format,
> > different type arg
> > (arg 7)
> > vdelivermail.c:536: warning: implicit declaration of
> > function `fdatasync'
> [snip]