gpg 1.0.3 on Solaris w/ large file support

Lars Hecking lhecking at nmrc.ie
Tue Oct 17 14:10:12 CEST 2000


 [Please Cc: replies, I'm not on the list.]

On Wed, 4 Oct 2000 15:27:15 +0200 (CEST), Nils Ellmenreich wrote:
> I've tried to install the generic 1.0.3 on both, Solaris 2.6 and 8. It
> doesn't work out of the box as util/iobuf.c fails to find the 64bit data
> structure definitions from <sys/stat.h>.

 The same problem exists on HP-UX.

>                                           This is because Solaris
> requires the compilation flag -D_LARGEFILE64_SOURCE to support these
> functions.

 From my understanding of large file support, this is not correct.

 According http://ftp.sas.com/standards/large.file/x_open.20Mar96.html,
 _LARGEFILE64_SOURCE and the *64() functions/ *64 structs are part of
 a transitional ABI, and are only required if one mixes 32/64bit types
 in the same program.

 I have a first cut at a patch for gnupg-1.0.3b that adds large file support
 at configure level. But there is still work to be done (or has it been
 done already?) in util/iobuf.c. I think that

 - the redefinition of fopen() and fstat() must go
 - u32 iobuf_get_filelength( IOBUF a ) must be rewritten to
   not explicitly return u32, but a different type that is 64 bit
   on 64 bit platforms
 - accordingly, the struct stat64 and
   "#if defined (HAVE_FOPEN64) && defined (HAVE_FSTAT64)" stuff in
   iobuf_get_filelength() must go.

 I could be totally off track here, of course ;-)

 Will I post my patch here? I have no ftp site to put it on.

 It compiles nicely on 32/64bit Solaris, but doesn't on IRIX/HP-UX/DU.
 I _think_ that I have problems compiling gpg on these platforms anyway ...

> Further more, even with this flag 1.0.3 doesn't compile on my Solaris
> 2.8 machines with linke problems with 
[...]

 I think this worked for me. May be a gcc installation problem.



More information about the Gnupg-devel mailing list