[CentOS-devel] glibc build fails on disk >2TB

Captain Wiggum captwiggum at gmail.com
Thu Jul 21 21:49:41 UTC 2016


Thank you for the suggestion Peter.
I have tried each of these individually and both in combination, with no
change in behavior. :-(
If I build without -D_FILE_OFFSET_BITS=64 then my i686-compat code will not
run on servers with >2TB disk volumes.

I think this may be an error in the glibc code or build. Any tips
appreciated.


On Thu, Jul 21, 2016 at 2:50 PM, Peter van Hooft <
hooft at natlab.research.philips.com> wrote:

> On Thu, Jul 21, 2016 at 02:39:56PM -0600, Captain Wiggum wrote:
> > We are rebuilding the centos 6.8 src.rpm's for both 64-bit (.x86_64.rpm)
> > and also 32-bit-compat (.i686.rpm)
> >
> > When making 32-bit compatible build on a disk >2TB, the build will fail
> > because or large inodes:
> >
> >
> /home/mlos/WORK/os/PACKAGES/glibc/WORK/BUILD/glibc-2.12-2-gc4ccff1/build-i686-linuxnptl/elf/sln
> >
> /home/mlos/WORK/os/PACKAGES/glibc/WORK/BUILD/glibc-2.12-2-gc4ccff1/build-i686-linuxnptl/elf/symlink.list
> > /home/mlos/WORK/os/PACKAGES/glibc/WORK/glibc-root/lib/ld-linux.so.2:
> > invalid destination: Value too large for defined data type
> >
> > The solution is to add "-D_FILE_OFFSET_BITS=64" and this has fixed the
> > issue on glibc and all our other i686 RPM builds.
> >
> > However, with the latest update glibc-2.12-1.192.el6.src.rpm we find
> adding
> > the above flag will cause the following error:
> >
> > In file included from ftello.c:29:
> > ../include/stdio.h:151: warning: asm declaration ignored due to conflict
> > with previous rename
> > ftello.c:66: error: '__EI_ftello' aliased to undefined symbol
> '__GI_ftello'
> > make[3]: ***
> >
> [/home/mlos/WORK/os/PACKAGES/glibc/WORK/BUILD/glibc-2.12-2-gc4ccff1/build-i686-linuxnptl/libio/ftello.os]
> > Error 1
> >
> > Has anyone else hit this issue? Any tips appreciated.
> >
> >
>
>
> Have you tried adding also -D_LARGE_SOURCE  or -D_LARGEFILE64_SOURCE ?
> I remember in the past you had to define both _FILE_OFFSET_BITS=64" and
> _LARGEFILE64_SOURCE for full 64 bit support for 32-bit programs.
> I mention _LARGE_SOURCE because it may be relevant here:
> `-- Macro: _LARGEFILE_SOURCE
>      If this macro is defined some extra functions are available which
>      rectify a few shortcomings in all previous standards.
>      Specifically, the functions 'fseeko' and 'ftello' are available.
>      Without these functions the difference between the ISO C interface
>      ('fseek', 'ftell') and the low-level POSIX interface ('lseek')
>      would lead to problems.
>
>      This macro was introduced as part of the Large File Support
>      extension (LFS).'
> which may be relevant to the ftello error you get.
>
> peter
>
>
> _______________________________________________
> CentOS-devel mailing list
> CentOS-devel at centos.org
> https://lists.centos.org/mailman/listinfo/centos-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.centos.org/pipermail/centos-devel/attachments/20160721/a9cc9baf/attachment.html>


More information about the CentOS-devel mailing list