Bug#636651: libapache2-mod-perl2: FTBFS with perl 5.14: -D_FILE_OFFSET_BITS stripped from CFLAGS

Stefan Fritsch sf at sfritsch.de
Sun Oct 16 10:06:08 UTC 2011


On Saturday 15 October 2011, Niko Tyni wrote:
> retitle 636651 libapache2-mod-perl2: FTBFS with perl 5.14:
> -D_FILE_OFFSET_BITS stripped from CFLAGS thanks
> 
> On Thu, Aug 04, 2011 at 10:01:52PM +0100, Dominic Hargreaves wrote:
> > Source: libapache2-mod-perl2
> > Version: 2.0.5-2
> > Severity: important
> > User: debian-perl at lists.debian.org
> > Usertags: perl-5.14-transition
> > 
> > As discussed on Debian bug #628522, this package fails to build
> > with perl 5.14.1 (in experimental) on i386 because
> > $Config{ccflags} is being
> 
> > overridden by local CCFLAGS options:
> I'm afraid this one isn't quite that simple.
> 
> > Not a CODE reference at /usr/lib/perl/5.14/DynaLoader.pm line
> > 207.
> 
> As discussed in #624460 and in the thread at
>  http://www.nntp.perl.org/group/perl.perl5.porters/2011/04/msg17153
> 5.html the binary interface skew that causes this error is a
> missing -D_FILE_OFFSET_BITS=64 declaration, and it's missing
> because it's explicitly stripped in Apache2::Build. Quoting:
> 
> # if perl is built with uselargefiles, but apr not, the build won't
> # work together as it uses two binary incompatible libraries, so
> # reduce the functionality to the greatest common denominator (C 
code
> # will have to make sure to prevent any operations that may rely on
> # effects created by uselargefiles, e.g. Off_t=8 instead of Off_t=4)
> 
> See strip_lfs() and has_large_files_conflict() in
> lib/Apache2/Build.pm.
> 
> If I understand this correctly, we have libapr built without large
> file support and perl built with large file support. Now,
> mod_perl2 used to do without LFS and still work with perl, but
> that's not the case with Perl 5.14 anymore.

I suspect that the above workaround is from the time of apr 0.x. Apr 
1.x builds with -D_LARGEFILE64_SOURCE and takes some care not to 
change ABI if _FILE_OFFSET_BITS changes. One remaining issue was fixed 
in 1.4.2-8 / #616323. If there are other issues, those should be fixed 
in apr, too.

> I'm Ccing the libapr1 maintainers for any ideas.
> 
> Dominic, could you try hardwiring has_large_files_conflict() to
> return 0 (so it doesn't strip the flags anymore) and see if that
> passes the test suite on i386 with Perl 5.14?






More information about the pkg-perl-maintainers mailing list