A recent change in uClibc-ng removed the MADV_* definitions for
madvise(), but kept the madvise() function itself. This defeats the
logic used in madplay: it checks if madvise() is available, and if it
is, uses it and assumes the MADV_* definitions exist.
This inconsistency has been reported to upstream uClibc-ng, but in the
mean time, we can simply tell madplay to not use madvise(), which is
anyway useless on noMMU platforms.
Fixes:
http://autobuild.buildroot.net/results/
3291554ea013e5f4a8f3447e10e664dffa8b131b/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
MADPLAY_LIBTOOL_PATCH = NO
MADPLAY_DEPENDENCIES = libmad libid3tag $(if $(BR2_PACKAGE_GETTEXT),gettext)
+# Workaround a bug in uClibc-ng, which exposes madvise() but doesn't
+# provide the corresponding MADV_* definitions. Bug reported at
+# http://mailman.uclibc-ng.org/pipermail/devel/2016-December/001306.html. madvise()
+# is anyway useless on noMMU.
+ifeq ($(BR2_USE_MMU),)
+MADPLAY_CONF_ENV += ac_cv_func_madvise=no
+endif
+
# Check if ALSA is built, then we should configure after alsa-lib so
# ./configure can find alsa-lib.
ifeq ($(BR2_PACKAGE_MADPLAY_ALSA),y)