Comment 1 for bug 19889

Revision history for this message
In , Steve Langasek (vorlon) wrote : Re: Bug#320119: sysklogd: Large file support is broken in the sarge version

On Wed, Jul 27, 2005 at 01:41:01PM +0800, Steven wrote:
> Package: sysklogd
> Version: 1.4.1-17
> Severity: grave
> Justification: causes non-serious data loss

> After upgrading our main syslog server to sarge, I found that some log files were not updating. This was traced to the fact that large filesystem support was not enabled properly. I applied the following patch to the debian/rules file, and recompiled the package, and it works fine now.

> --- debian/rules.orig 2005-07-27 13:29:59.000000000 +0800
> +++ debian/rules 2005-07-27 13:24:30.000000000 +0800
> @@ -30,7 +30,7 @@
> ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
> CFLAGS = -g -O2 -Wall $(getconf LFS_CFLAGS) -D_LARGEFILE_SOURCE
> else
> -CFLAGS = -O2 -Wall $(getconf LFS_CFLAGS) -D_LARGEFILE_SOURCE
> +CFLAGS = -O2 -Wall $(getconf LFS_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
> endif
> ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
> STRIP = -s

This patch is incorrect. $(getconf LFS_CFLAGS) already evaluates to
-D_FILE_OFFSET_BITS=64 on architectures where it's required. On
architectures where it's not required, this define is known to have
incorrect side effects for some functions.

--
Steve Langasek
postmodern programmer