[Buildroot] [git commit branch/2021.02.x] package/binutils: zlib is mandatory
Peter Korsgaard
peter at korsgaard.com
Wed Nov 17 15:37:22 UTC 2021
commit: https://git.buildroot.net/buildroot/commit/?id=f1f1a0fd9bfb7644dc4a6a6c0ca587762e298928
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2021.02.x
As found out by Yann [1], binutils will use its bundled copy of zlib,
whether it is already provided by the system or not, and unless
explicitly told to use the system zlib with --with-system-zlib, which
is available since version 2.21 and
https://github.com/bminor/binutils-gdb/commit/700d40ca16eb3ba1ecc1e602cb3eec175bdf70f0
This will fix the following build failure with oprofile when compiling
in a static configuration where zlib is not enabled:
checking for bfd_openr in -lbfd... no
checking for compress in -lz... no
configure: error: libz library not found; required by libbfd
As found out by Arnout [1], this fails infrequently because static is
already pretty rare, but in addition zlib is almost always selected by
some other package.
Fixes:
- http://autobuild.buildroot.org/results/0e1d16dfbb455a08db80ac5d35613908c3b4163f
[1] https://patchwork.ozlabs.org/project/buildroot/patch/20211030214734.2154583-1-fontaine.fabrice@gmail.com/
Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
[yann.morin.1998 at free.fr:
- reword the explanations about the system zlib
- extend the oprofile example with static and !zlib
]
Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
(cherry picked from commit a3c1ba68f4bbad17df57a408097b7e862df43b6b)
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
package/binutils/Config.in | 1 +
package/binutils/binutils.mk | 7 ++-----
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/package/binutils/Config.in b/package/binutils/Config.in
index e17a8ec65a..5e1a769998 100644
--- a/package/binutils/Config.in
+++ b/package/binutils/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_BINUTILS
bool "binutils"
depends on !BR2_nios2
depends on BR2_USE_WCHAR
+ select BR2_PACKAGE_ZLIB
help
Install binutils on the target
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index e469febbb4..44fe601998 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -31,7 +31,7 @@ BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils
BINUTILS_SOURCE ?= binutils-$(BINUTILS_VERSION).tar.xz
BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS))
BINUTILS_INSTALL_STAGING = YES
-BINUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)
+BINUTILS_DEPENDENCIES = zlib $(TARGET_NLS_DEPENDENCIES)
BINUTILS_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS)
BINUTILS_LICENSE = GPL-3.0+, libiberty LGPL-2.1+
BINUTILS_LICENSE_FILES = COPYING3 COPYING.LIB
@@ -57,6 +57,7 @@ BINUTILS_CONF_OPTS = \
--target=$(GNU_TARGET_NAME) \
--enable-install-libiberty \
--enable-build-warnings=no \
+ --with-system-zlib \
$(BINUTILS_DISABLE_GDB_CONF_OPTS) \
$(BINUTILS_EXTRA_CONFIG_OPTIONS)
@@ -80,10 +81,6 @@ ifeq ($(BR2_ARM_CPU_ARMV7M)$(BR2_OPTIMIZE_S),yy)
BINUTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O2"
endif
-ifeq ($(BR2_PACKAGE_ZLIB),y)
-BINUTILS_DEPENDENCIES += zlib
-endif
-
# "host" binutils should actually be "cross"
# We just keep the convention of "host utility" for now
HOST_BINUTILS_CONF_OPTS = \
More information about the buildroot
mailing list