pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: pkgsrc/devel/glib2



* On 2012-07-12 at 09:07 BST, John Marino wrote:

> On 7/12/2012 08:52, Jonathan Perkin wrote:
> >* On 2012-07-12 at 00:07 BST, John Marino wrote:
> >
> >>Module Name:        pkgsrc
> >>Committed By:       marino
> >>Date:               Wed Jul 11 23:07:06 UTC 2012
> >>
> >>Modified Files:
> >>    pkgsrc/devel/glib2: Makefile
> >>
> >>Log Message:
> >>devel/glib2: Fix 32-bit SunOS
> >>
> >>On a 32-bit OpenIndiana 151a machine, glib2 failed with the error:
> >>"large files are not supported by libelf".
> >>
> >>The glib2 makefile doesn't include libelf from pkgsrc, it uses the version
> >>with the header at /usr/include/libelf.h.  Libelf will only support large
> >>files (64 bits) with 64-bit versions of SunOS.
> >>
> >>This change adds additional checks.  When the Makefile determines that the
> >>package is building on a 32-bit SunOS, it will force the configure script
> >>to define _FILE_OFFSET_BITS as 32 which allows glib2 to build completely.
> >
> >I'm not convinced this is correct.  This previously worked fine, and
> >didn't limit us to 32-bit file sizes.  What changed recently to cause
> >this, and can we not use pkgsrc libelf?
> >
> 
> I'm not sure how to say it clearer.
> The makefile will not load the libelf package for SunOS, so it
> defaults to the system libelf whose header is /usr/include/libelf.h
> 
> In that header, it checks for being a 32 bit platform and
> _FILE_OFFSET_BITS != 32.  If both are true, you get the error "Large
> files are not supported by libelf" during the build.  It is very
> clearly a known limitation of the SunOS libelf implementation
> because there's a dedicated check for it.   If it previously worked
> fine on something before, then either the platform was really
> 64-bit, the configure file come up with 32 bits for
> _FILE_OFFSET_BITS on its own, or the SunOS libelf wasn't used.
> 
> This can be easily verified.  It's on line 41 on
> /usr/include/libelf.h on OpenIndiana 151a and OpenSolaris SXCE 130.

Sorry, I wasn't very clear, I understand all that, my query was why
libelf is required in the first place, thus breaking what was
previously a working build.

So, I looked, and it was introduced in January as a dependency for the
new gresource tool.

Thus, my recommendation would actually be to just disable this tool on
32-bit SunOS or at least build that tool only with large file
disabled, rather than break large file support completely for every
single package which uses glib2, because my guess is the former is
much more palatable for users.

Regards,

-- 
Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com



Home | Main Index | Thread Index | Old Index