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

Peter van Hooft

hooft at natlab.research.philips.com
Thu Jul 21 20:50:45 UTC 2016


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





More information about the CentOS-devel mailing list