[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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@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/msg171535.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'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?
-- 
Niko Tyni   ntyni@debian.org


Reply to: