[Buildroot] [PATCH 1/2] package/libselinux: fix host build
Yann E. MORIN
yann.morin.1998 at free.fr
Sun Apr 24 20:57:38 UTC 2022
Fabrice, All,
On 2022-04-24 22:00 +0200, Fabrice Fontaine spake thusly:
> The following build failure is raised since commit
> 1745fcde740057951dcc5429f3bfabd103b764a1 because
> $(HOST_PKG_PYTHON_DISTUTILS_ENV) contains $(HOST_CONFIGURE_OPTS) and so
> will override LDFLAGS passed by libselinux.mk:
>
> /usr/bin/gcc -O2 -I/nvmedata/autobuild/instance-11/output-1/host/include -I../include -D_GNU_SOURCE -DNO_ANDROID_BACKEND -L/nvmedata/autobuild/instance-11/output-1/host/lib -Wl,-rpath,/nvmedata/autobuild/instance-11/output-1/host/lib -shared -o libselinux.so.1 avc.lo avc_internal.lo avc_sidtab.lo booleans.lo callbacks.lo canonicalize_context.lo checkAccess.lo check_context.lo checkreqprot.lo compute_av.lo compute_create.lo compute_member.lo compute_relabel.lo compute_user.lo context.lo deny_unknown.lo disable.lo enabled.lo fgetfilecon.lo freecon.lo freeconary.lo fsetfilecon.lo get_context_list.lo get_default_type.lo get_initial_context.lo getenforce.lo getfilecon.lo getpeercon.lo init.lo is_customizable_type.lo label.lo label_db.lo label_file.lo label_media.lo label_support.lo label_x.lo lgetfilecon.lo load_policy.lo lsetfilecon.lo mapping.lo matchmediacon.lo matchpathcon.lo policyvers.lo procattr.lo query_user_context.lo regex.lo reject_unknown.lo selinux_check_securetty_context.l
> o selinux_config.lo selinux_restorecon.lo sestatus.lo setenforce.lo setexecfilecon.lo setfilecon.lo setrans_client.lo seusers.lo sha1.lo stringrep.lo validatetrans.lo -ldl -Wl,-soname,libselinux.so.1,--version-script=libselinux.map,-z,defs,-z,relro
> /usr/bin/ld: regex.lo: in function `regex_writef':
> regex.c:(.text+0x7c): undefined reference to `pcre_fullinfo'
>
> To fix this build failure, instead of moving LDFLAGS after
> $(HOST_PKG_PYTHON_DISTUTILS_ENV), drop LDFLAGS and add host-pkgconf
> dependency to retrieve pcre dependencies as pkg-config is supported
> since version 3.2 and
> https://github.com/SELinuxProject/selinux/commit/74093beab0c605641ec413be81e31e6b2f55d8d4
>
> Dropping LDFLAGS will also drop -lpthread which doesn't seem to raise
> any build failures with test-pkg:
>
> bootlin-armv5-uclibc [1/6]: OK
> bootlin-armv7-glibc [2/6]: OK
> bootlin-armv7m-uclibc [3/6]: SKIPPED
> bootlin-x86-64-musl [4/6]: OK
> br-arm-full-static [5/6]: SKIPPED
> sourcery-arm [6/6]: SKIPPED
>
> Apply the same update to the target variant for consistancy.
>
> Fixes:
> - http://autobuild.buildroot.org/results/d16995f0decef9c9bf58cab4fa30f7daab6918fb
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
Series of two patches applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> package/libselinux/libselinux.mk | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/package/libselinux/libselinux.mk b/package/libselinux/libselinux.mk
> index 5790e79040..c6be8e638a 100644
> --- a/package/libselinux/libselinux.mk
> +++ b/package/libselinux/libselinux.mk
> @@ -10,7 +10,8 @@ LIBSELINUX_LICENSE = Public Domain
> LIBSELINUX_LICENSE_FILES = LICENSE
> LIBSELINUX_CPE_ID_VENDOR = selinuxproject
>
> -LIBSELINUX_DEPENDENCIES = $(BR2_COREUTILS_HOST_DEPENDENCY) libsepol pcre
> +LIBSELINUX_DEPENDENCIES = \
> + $(BR2_COREUTILS_HOST_DEPENDENCY) host-pkgconf libsepol pcre
>
> LIBSELINUX_INSTALL_STAGING = YES
>
> @@ -52,8 +53,7 @@ endif # python3
> # when the python binding is enabled.
> LIBSELINUX_MAKE_OPTS += \
> CFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS))" \
> - CPPFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))" \
> - LDFLAGS="$(TARGET_LDFLAGS) -lpcre -lpthread"
> + CPPFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))"
>
> define LIBSELINUX_BUILD_CMDS
> $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> @@ -76,13 +76,12 @@ define LIBSELINUX_INSTALL_TARGET_CMDS
> endef
>
> HOST_LIBSELINUX_DEPENDENCIES = \
> - host-libsepol host-pcre host-swig host-python3
> + host-pkgconf host-libsepol host-pcre host-swig host-python3
>
> HOST_LIBSELINUX_MAKE_OPTS = \
> $(HOST_CONFIGURE_OPTS) \
> PREFIX=$(HOST_DIR) \
> SHLIBDIR=$(HOST_DIR)/lib \
> - LDFLAGS="$(HOST_LDFLAGS) -lpcre -lpthread" \
> $(HOST_PKG_PYTHON_DISTUTILS_ENV) \
> PYTHON=python$(PYTHON3_VERSION_MAJOR)
>
> --
> 2.35.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list