diff options
author | Z. Liu <zhixu.liu@gmail.com> | 2025-01-27 01:57:39 +0800 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2025-01-29 22:47:26 +0000 |
commit | a4aa03f192a3b51ffce6e540220c3b466d3381ae (patch) | |
tree | b81d4f8d9752b528cdcda6fe11155f66487b97ba /dev-libs | |
parent | media-libs/fontconfig: add TODO for fontations (rust) (diff) | |
download | gentoo-a4aa03f192a3b51ffce6e540220c3b466d3381ae.tar.gz gentoo-a4aa03f192a3b51ffce6e540220c3b466d3381ae.tar.bz2 gentoo-a4aa03f192a3b51ffce6e540220c3b466d3381ae.zip |
dev-libs/elfutils: fix build failed w/ musl
error() is available in glibc, not in musl, configure check header
file "error.h" only. If sys-libs/error-standalone is installed, check
report ok, but link will fail because no "-lerror". So update configure.ac
to check both error.h exist and can be linked without any extra "-l...",
if not then fallback to err.h which cause built-in error() to be used.
Closes: https://bugs.gentoo.org/948878
Signed-off-by: Z. Liu <zhixu.liu@gmail.com>
Signed-off-by: Alfred Wingate <parona@protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/40322
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs')
3 files changed, 36 insertions, 2 deletions
diff --git a/dev-libs/elfutils/elfutils-0.191-r2.ebuild b/dev-libs/elfutils/elfutils-0.191-r2.ebuild index ea40e46c2a43..59c2bad3f81f 100644 --- a/dev-libs/elfutils/elfutils-0.191-r2.ebuild +++ b/dev-libs/elfutils/elfutils-0.191-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2003-2024 Gentoo Authors +# Copyright 2003-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -65,6 +65,7 @@ PATCHES=( "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch "${FILESDIR}"/${PN}-0.191-musl-macros.patch "${FILESDIR}"/${PN}-0.191-avoid-overriding-libcxx-system-header.patch + "${FILESDIR}"/${PN}-0.191-musl-configure-better-error-h-check.patch ) src_prepare() { diff --git a/dev-libs/elfutils/elfutils-0.192-r1.ebuild b/dev-libs/elfutils/elfutils-0.192-r1.ebuild index 66caa21ab476..531729129380 100644 --- a/dev-libs/elfutils/elfutils-0.192-r1.ebuild +++ b/dev-libs/elfutils/elfutils-0.192-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2003-2024 Gentoo Authors +# Copyright 2003-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -68,6 +68,7 @@ PATCHES=( "${FILESDIR}"/${P}-libelf-static-link-libeu.patch "${FILESDIR}"/${P}-configure-better-error-message.patch "${FILESDIR}"/${P}-stacktrace-maybe-uninit.patch + "${FILESDIR}"/${PN}-0.191-musl-configure-better-error-h-check.patch ) src_prepare() { diff --git a/dev-libs/elfutils/files/elfutils-0.191-musl-configure-better-error-h-check.patch b/dev-libs/elfutils/files/elfutils-0.191-musl-configure-better-error-h-check.patch new file mode 100644 index 000000000000..bdadcbb25d7e --- /dev/null +++ b/dev-libs/elfutils/files/elfutils-0.191-musl-configure-better-error-h-check.patch @@ -0,0 +1,32 @@ +From 43ddbe073025fe2ff454dabb84674ccdbd013487 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <parona@protonmail.com> +Date: Wed, 29 Jan 2025 09:32:49 +0200 +Subject: [PATCH] Declare HAVE_ERROR_H only if error symbol is available + +Musl doesn't provide error.h. But there exists a standalone implementation +that installs /usr/include/error.h but requires explicit linkage. This +leads linkage errors later on due to the assumption that error +symbols are provided by the libc. + +Bug: https://bugs.gentoo.org/948878 +Signed-off-by: Alfred Wingate <parona@protonmail.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 1da2a12c..7a2f2540 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -477,7 +477,7 @@ AC_CHECK_FUNCS([process_vm_readv mremap]) + AS_IF([test "x$ac_cv_func_mremap" = "xno"], + [AC_MSG_WARN([elf_update needs mremap to support ELF_C_RDWR_MMAP])]) + +-AC_CHECK_HEADERS([error.h]) ++AC_CHECK_HEADER([error.h], [AC_CHECK_FUNC([error], AC_DEFINE([HAVE_ERROR_H], [1], [Define if error.h is usable]))]) + AC_CHECK_HEADERS([err.h]) + + dnl for debuginfod concurrency heuristics +-- +2.48.1 + |