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-p...@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 nt...@debian.org -- To UNSUBSCRIBE, email to debian-apache-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20111015130920.GA1261@madeleine.local.invalid