[prev in list] [next in list] [prev in thread] [next in thread] 

List:       centos-devel
Subject:    Re: [CentOS-devel] glibc build fails on disk >2TB
From:       Captain Wiggum <captwiggum () gmail ! com>
Date:       2016-07-21 21:49:41
Message-ID: CAB=W+om35rRxxsu-EoDzJEWVvkBi39fje547msWuRpANjYv15w () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


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@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@centos.org
> https://lists.centos.org/mailman/listinfo/centos-devel
> 


[Attachment #5 (text/html)]

<div dir="ltr">Thank you for the suggestion Peter.  <div>I have tried each of these \
individually and both in combination, with no change in behavior. :-(<div>If I build \
without  -D_FILE_OFFSET_BITS=64 then my i686-compat code will not run on servers with \
&gt;2TB disk volumes.</div><div><br></div><div>I think this may be an error in the \
glibc code or build. Any tips appreciated.</div><div><br></div></div></div><div \
class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 21, 2016 at 2:50 PM, \
Peter van Hooft <span dir="ltr">&lt;<a \
href="mailto:hooft@natlab.research.philips.com" \
target="_blank">hooft@natlab.research.philips.com</a>&gt;</span> \
wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Thu, Jul 21, 2016 \
at 02:39:56PM -0600, Captain Wiggum wrote:<br> &gt; We are rebuilding the centos 6.8 \
src.rpm&#39;s for both 64-bit (.x86_64.rpm)<br> &gt; and also 32-bit-compat \
(.i686.rpm)<br> &gt;<br>
&gt; When making 32-bit compatible build on a disk &gt;2TB, the build will fail<br>
&gt; because or large inodes:<br>
&gt;<br>
&gt; /home/mlos/WORK/os/PACKAGES/glibc/WORK/BUILD/glibc-2.12-2-gc4ccff1/build-i686-linuxnptl/elf/sln<br>
 &gt; /home/mlos/WORK/os/PACKAGES/glibc/WORK/BUILD/glibc-2.12-2-gc4ccff1/build-i686-linuxnptl/elf/symlink.list<br>
 &gt; /home/mlos/WORK/os/PACKAGES/glibc/WORK/glibc-root/lib/ld-linux.so.2:<br>
&gt; invalid destination: Value too large for defined data type<br>
&gt;<br>
&gt; The solution is to add &quot;-D_FILE_OFFSET_BITS=64&quot; and this has fixed \
the<br> &gt; issue on glibc and all our other i686 RPM builds.<br>
&gt;<br>
&gt; However, with the latest update glibc-2.12-1.192.el6.src.rpm we find adding<br>
&gt; the above flag will cause the following error:<br>
&gt;<br>
&gt; In file included from ftello.c:29:<br>
&gt; ../include/stdio.h:151: warning: asm declaration ignored due to conflict<br>
&gt; with previous rename<br>
&gt; ftello.c:66: error: &#39;__EI_ftello&#39; aliased to undefined symbol \
&#39;__GI_ftello&#39;<br> &gt; make[3]: ***<br>
&gt; [/home/mlos/WORK/os/PACKAGES/glibc/WORK/BUILD/glibc-2.12-2-gc4ccff1/build-i686-linuxnptl/libio/ftello.os]<br>
 &gt; Error 1<br>
&gt;<br>
&gt; Has anyone else hit this issue? Any tips appreciated.<br>
&gt;<br>
&gt;<br>
<br>
<br>
</div></div>Have you tried adding also -D_LARGE_SOURCE   or -D_LARGEFILE64_SOURCE \
?<br> I remember in the past you had to define both _FILE_OFFSET_BITS=64&quot; and \
_LARGEFILE64_SOURCE for full 64 bit support for 32-bit programs.<br> I mention \
_LARGE_SOURCE because it may be relevant here:<br> `-- Macro: _LARGEFILE_SOURCE<br>
        If this macro is defined some extra functions are available which<br>
        rectify a few shortcomings in all previous standards.<br>
        Specifically, the functions &#39;fseeko&#39; and &#39;ftello&#39; are \
                available.<br>
        Without these functions the difference between the ISO C interface<br>
        (&#39;fseek&#39;, &#39;ftell&#39;) and the low-level POSIX interface \
(&#39;lseek&#39;)<br>  would lead to problems.<br>
<br>
        This macro was introduced as part of the Large File Support<br>
        extension (LFS).&#39;<br>
which may be relevant to the ftello error you get.<br>
<br>
peter<br>
<br>
<br>
_______________________________________________<br>
CentOS-devel mailing list<br>
<a href="mailto:CentOS-devel@centos.org">CentOS-devel@centos.org</a><br>
<a href="https://lists.centos.org/mailman/listinfo/centos-devel" rel="noreferrer" \
target="_blank">https://lists.centos.org/mailman/listinfo/centos-devel</a><br> \
</blockquote></div><br></div>



_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
https://lists.centos.org/mailman/listinfo/centos-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic