Bug #4832
closedON's perl modules need to be built with Large File support
100%
Description
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 Marcel Telka about 8 years ago
- Subject changed from ON's perl modules need to be built with Large File suppor to ON's perl modules need to be built with Large File support
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 \\
-DPERL_USE_SAFE_PUTENV -D_TS_ERRNO
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
git commit 74515eee3550b5d4799a867dfd89e5c7722dfe0c
commit 74515eee3550b5d4799a867dfd89e5c7722dfe0c Author: Dan McDonald <danmcd@omniti.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 <rm@joyent.com> Reviewed by: Andy Stormont <AStormont@racktopsystems.com> Approved by: Gordon Ross <gordon.ross@nexenta.com>