[Buildroot] [PATCH v2, 1/1] package/policycoreutils: fix build with BR2_TIME_BITS_64

Peter Korsgaard peter at korsgaard.com
Wed Mar 6 07:30:25 UTC 2024


>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice at gmail.com> writes:

 > Do not remove _FILE_OFFSET_BITS=64 from CFLAGS and CPPFLAGS to avoid the
 > following build failure with BR2_TIME_BITS_64 raised since commit
 > 3c427c64726560ea1743282a3fdb78f5b28692eb:

 > In file included from /home/fabrice/buildroot/output/host/mips-buildroot-linux-gnu/sysroot/usr/include/features.h:394,
 >                  from /home/fabrice/buildroot/output/host/mips-buildroot-linux-gnu/sysroot/usr/include/errno.h:25,
 >                  from pp.c:20:
 > /home/fabrice/buildroot/output/host/mips-buildroot-linux-gnu/sysroot/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
 >    26 | #   error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
 >       |     ^~~~~

 > Indeed, this LFS workaround was there since the addition of the package
 > in commit cb328f77f8f07bfd89d6b69385c941a7b281732b  and is only needed
 > to fix a build failure with the old codesourcery-arm toolchain from 2014
 > which uses glibc < 2.23. as glibc 2.23 was released in February 2016:
 > https://sourceware.org/glibc/wiki/Release/2.23, drop this workaround as
 > already done for libselinux in commit
 > c1fa9bc2f7a4e5481edf4fce5c03dd45862fe72c. A follow-up patch will also
 > drop codesourcery-arm toolchain.

 > Fixes: 3c427c64726560ea1743282a3fdb78f5b28692eb
 >  - No autobuilder failures (yet)

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
 > ---
 > Changes v1 -> v2:
 >  - Also fix host package

 >  package/policycoreutils/policycoreutils.mk | 17 ++---------------
 >  1 file changed, 2 insertions(+), 15 deletions(-)

 > diff --git a/package/policycoreutils/policycoreutils.mk b/package/policycoreutils/policycoreutils.mk
 > index 56889242e3..3ad7e9a5b3 100644
 > --- a/package/policycoreutils/policycoreutils.mk
 > +++ b/package/policycoreutils/policycoreutils.mk
 > @@ -11,7 +11,7 @@ POLICYCOREUTILS_LICENSE_FILES = LICENSE
 >  POLICYCOREUTILS_CPE_ID_VENDOR = selinuxproject
 
 >  POLICYCOREUTILS_DEPENDENCIES = libsemanage libcap-ng $(TARGET_NLS_DEPENDENCIES)
 > -POLICYCOREUTILS_MAKE_OPTS = LDLIBS=$(TARGET_NLS_LIBS)
 > +POLICYCOREUTILS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) LDLIBS=$(TARGET_NLS_LIBS)
 
 >  ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
 >  POLICYCOREUTILS_DEPENDENCIES += linux-pam
 > @@ -28,14 +28,6 @@ ifeq ($(BR2_PACKAGE_LINUX_PAM)$(BR2_PACKAGE_AUDIT),yy)
 >  POLICYCOREUTILS_MAKE_OPTS += LSPP_PRIV=y
 >  endif
 
 > -# Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h
 > -# large file support.
 > -# See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information
 > -POLICYCOREUTILS_MAKE_OPTS += \
 > -	$(TARGET_CONFIGURE_OPTS) \
 > -	CFLAGS="$(TARGET_CFLAGS) -U_FILE_OFFSET_BITS" \
 > -	CPPFLAGS="$(TARGET_CPPFLAGS) -U_FILE_OFFSET_BITS"
 > -
 >  POLICYCOREUTILS_MAKE_DIRS = \
 >  	hll load_policy newrole run_init \
 >  	secon semodule sestatus setfiles \
 > @@ -59,14 +51,9 @@ endef
 
 >  HOST_POLICYCOREUTILS_DEPENDENCIES = host-libsemanage
 
 > -# Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h
 > -# large file support.
 > -# See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information
 > -# We also need to pass PREFIX because it defaults to $(DESTDIR)/usr
 > +# We need to pass PREFIX because it defaults to $(DESTDIR)/usr

Hmm, this doesn't apply because we don't have that 'We also need to pass
PREFIX because it defaults to $(DESTDIR)/usr' line - Where does that
come from?


-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list