GlobalArrays/ga

Compilation of m4 fails with glibc 2.28

Closed this issue · 6 comments

In particular, making m4 fails with:

freadahead.c: In function 'freadahead':
freadahead.c:92:3: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib."
#error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib."
^~~~~

This appears to be an issue with m4, not Global Arrays. In any case, there isn't enough detail in the bug report for someone to help you. When you report this bug to the appropriate people, please include OS details and such.

I do not know why the following test does not pass. I only have glibc 2.27 on my machine so I can't test if something has changed in 2.28.

#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
  if (fp->_IO_write_ptr > fp->_IO_write_base)
    return 0;
  return (fp->_IO_read_end - fp->_IO_read_ptr)
         + (fp->_flags & _IO_IN_BACKUP ? fp->_IO_save_end - fp->_IO_save_base :
            0);

The same error shows up in other codes too, after update to glibc 2.28. They've apparently changed something and there it goes.

Manjaro (4.14.71-1-MANJARO), updated yesterday.

Does your OS by any chance use MUSL instead of GNU libc?

No, it's GNU libc.