FS#59782 - [findutils] Some fixes required to build against glibc-2.28

Attached to Project: Arch Linux
Opened by Sergio Iglesias (sergiotarxz) - Friday, 24 August 2018, 01:50 GMT
Last edited by Allan McRae (Allan) - Sunday, 04 November 2018, 01:44 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:


Additional info:
* package version(s)

glibc-2.28
findutils-3.6

* config and/or log files etc.
depbase=`echo fflush.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I../.. -g -O2 -MT fflush.o -MD -MP -MF $depbase.Tpo -c -o fflush.o fflush.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo fpurge.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I../.. -g -O2 -MT fpurge.o -MD -MP -MF $depbase.Tpo -c -o fpurge.o fpurge.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo freadahead.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I../.. -g -O2 -MT freadahead.o -MD -MP -MF $depbase.Tpo -c -o freadahead.o freadahead.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo fseek.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I../.. -g -O2 -MT fseek.o -MD -MP -MF $depbase.Tpo -c -o fseek.o fseek.c &&\
mv -f $depbase.Tpo $depbase.Po
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."
^~~~~
make[5]: *** [Makefile:2225: freadahead.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[5]: Leaving directory '/sources/findutils/findutils-4.6.0/gl/lib'
make[4]: *** [Makefile:2250: all-recursive] Error 1
make[4]: Leaving directory '/sources/findutils/findutils-4.6.0/gl/lib'
make[3]: *** [Makefile:1931: all] Error 2
make[3]: Leaving directory '/sources/findutils/findutils-4.6.0/gl/lib'
make[2]: *** [Makefile:1657: all-recursive] Error 1
make[2]: Leaving directory '/sources/findutils/findutils-4.6.0/gl'
make[1]: *** [Makefile:1706: all-recursive] Error 1
make[1]: Leaving directory '/sources/findutils/findutils-4.6.0'


Steps to reproduce:
$ ./configure --prefix=/usr
$ make -j<number of cpu cores>

Fix:
Linux from scratch solves the gnulib conflicts in findutils with glibc-2.28 running the following before configuring,
may would be better to update the gl lib to a newer version but I don't know how to do it.

$ sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' gl/lib/*.c
$ sed -i '/unistd/a #include <sys/sysmacros.h>' gl/lib/mountlist.c
$ echo "#define _IO_IN_BACKUP 0x100" >> gl/lib/stdio-impl.h #_IO_IN_BACKUP became private in glibc-2.28
This task depends upon

Closed by  Allan McRae (Allan)
Sunday, 04 November 2018, 01:44 GMT
Reason for closing:  Fixed
Additional comments about closing:  findutils-4.6.0-4
Comment by loqs (loqs) - Friday, 24 August 2018, 22:13 GMT
@sergiotarxz does this patch fix the PKGBUILD for you?
Comment by Sergio Iglesias (sergiotarxz) - Saturday, 25 August 2018, 00:32 GMT
@loqs
Actually it works but only running "$autoreconf --install" before make in the source directory, else it complains about the absence of aclocal-1.14 doing make.

Archlinux provides /usr/bin/aclocal-1.15 in the package automake-1.15.1, but no automake-1.14 is provided.

** Error log **
$ make -j3
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /sources/findutils-4.6.0/build-aux/missing aclocal-1.14 -I gl/m4 -I m4
/sources/findutils-4.6.0/build-aux/missing: line 81: aclocal-1.14: command not found
WARNING: 'aclocal-1.14' is missing on your system.
You should only need it if you modified 'acinclude.m4' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'aclocal' program is part of the GNU Automake package:
<http://www.gnu.org/software/automake>
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
<http://www.gnu.org/software/autoconf>
<http://www.gnu.org/software/m4/>
<http://www.perl.org/>
make: *** [Makefile:1681: aclocal.m4] Error 127
Comment by loqs (loqs) - Saturday, 25 August 2018, 09:01 GMT
build.log from extra-x86_64-build
Comment by Sergio Iglesias (sergiotarxz) - Saturday, 25 August 2018, 13:58 GMT
@loqs
Could you run "which aclocal-1.14"?
If it returns nothing and the ebuild works for you probably it is a problem in my setup.
Comment by loqs (loqs) - Saturday, 25 August 2018, 14:33 GMT
which aclocal-1.14
which: no aclocal-1.14 in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
Install the devtools package then run extra-x86_64-build instead of makepkg and see if that works.

Loading...