On 08/02/2018 03:15 AM, Xi Ruoyao wrote:
On 2018-08-01 20:08 -0500, Bruce Dubbs wrote:
On 08/01/2018 06:30 PM, Douglas R. Reno wrote:


On Wed, Aug 1, 2018 at 6:26 PM Bruce Dubbs <[email protected]
<mailto:[email protected]>> wrote:

     Trying to insert glibc-2.28 into the book.  In chapter 5, m4 will not
     build.  I found one fix:

     sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c

     https://github.com/coreutils/gnulib/blob/master/lib/freadahead.c

     But it still fails at

     return (fp->_IO_read_end - fp->_IO_read_ptr)
                + (fp->_flags & _IO_IN_BACKUP ? fp->_IO_save_end -
     fp->_IO_save_base :

     because _IO_IN_BACKUP is not defined.  It is in bits/libio.h with
     glibc-2.27, but not in glibc-2.28.

     Still trying to find a better/more complete fix.  If anyone comes
     across
     with something, please let me know.
I'm concerned about libarchive. It still uses the macros that were just
moved (major, minor, and makedev).

I'm also concerned with many of the packages (e.g. coreutils) that use
gnulib.  They include the files instead of referencing a separate
library and it shows up a lot.

Gnulib upstream workaround this by define _IO_IN_BACKUP if not already defined:
http://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a71827c0bc5e0ec67af23edef4f15cee8e

We can use a sed to do this, or provide a patch for stdio-impl.h.

Thanks. I saw this last night, but missed the last chunk that defines _IO_IN_BACKUP. I just did

echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h

As a quick hack and m4 now builds. I continued on and findutils just failed with the same problem. I tried to use the same hack but it was not enough:

undefined reference to `makedev'

That also needs:
sed -i '/unistd/a #include <sys/sysmacros.h>' gl/lib/mountlist.c

Now gzip fails.  I was afraid of this...


  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to