ON's perl modules need to be built with Large File support
Pre-3900, the ON perl modules (which are 32-bit) were built with -DPERL_EUPXS_ALWAYS_EXPORT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -D_TS_ERRNO.
The current ones aren't. They seem to pass tests okay, but it may bite a consumer when he/she leasts expects it.
(In OmniOS, we compile both 32- and 64-bit, so for 64-bit, we use -D_LARGEFILE64_SOURCE, and the others.)
See illumos-omnios's "master" branch for how we did it.
Updated by Dan McDonald about 8 years ago
For OmniOS, I defined PCFLAGS (Perl CFLAGS) in Makefile.targ. This one is slightly different from OmniOS, because OmniOS uses perl 5.16.1, vs. 5.10:
PCFLAGS= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \\
And then I added $(PCFLAGS) to the $(COMPILE.c) line later down in Makefile.targ.
I'm not including proper diffs because the OmniOS Makefile.targ also includes 64-bit versions, which clutters up the diffs enough to cause more confusion.
Updated by Electric Monk about 8 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
commit 74515eee3550b5d4799a867dfd89e5c7722dfe0c Author: Dan McDonald <email@example.com> Date: 2014-05-08T01:09:10.000Z 4832 ON's perl modules need to be built with Large File support Reviewed by: Robert Mustacchi <firstname.lastname@example.org> Reviewed by: Andy Stormont <AStormont@racktopsystems.com> Approved by: Gordon Ross <email@example.com>