From 98527443c0c106f51c8fc05c02957247fcfd8780 Mon Sep 17 00:00:00 2001 From: Ruben Kerkhof Date: Sun, 7 Aug 2016 11:59:31 +0200 Subject: [PATCH] perl plugin: needs _LARGEFILE64_SOURCE libperl compiled with LARGE_FILES support defines its own Off_t as off64_t, even if off_t is 64-bit wide on 64bit platforms. off64_t is only exposed in the libc headers if _LARGEFILE64_SOURCE is defined. In file included from perl.c:47:0: /usr/lib/x86_64-linux-gnu/perl/5.20/CORE/perl.h:2398:22: error: unknown type name 'off64_t' # define Off_t off64_t ^ /usr/lib/x86_64-linux-gnu/perl/5.20/CORE/perlio.h:277:15: note: in expansion of macro 'Off_t' PERL_EXPORT_C Off_t PerlIO_tell(PerlIO *); --- src/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Makefile.am b/src/Makefile.am index 8b8143f6..a51e2ec0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -848,6 +848,9 @@ perl_la_SOURCES = perl.c # Despite C99 providing the "bool" type thru stdbool.h, Perl defines its own # version of that type if HAS_BOOL is not defined... *sigh* perl_la_CPPFLAGS = $(AM_CPPFLAGS) -DHAS_BOOL=1 +# Despite off_t being 64 bit wide on 64 bit platforms, Perl insist on using +# off64_t which is only exposed when _LARGEFILE64_SOURCE is defined... *sigh* +perl_la_CPPFLAGS += -D_LARGEFILE64_SOURCE perl_la_CFLAGS = $(AM_CFLAGS) \ $(PERL_CFLAGS) \ -DXS_VERSION=\"$(VERSION)\" -DVERSION=\"$(VERSION)\" -- 2.11.0