diff options
author | Jo-Philipp Wich <jo@mein.io> | 2020-12-09 11:53:04 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2020-12-09 12:36:40 +0100 |
commit | dd5b3b58d8aa4427c40bc1247196a6693a57f460 (patch) | |
tree | f34e415cbaa4421d7c24a427a20bb29c0510be31 | |
parent | a58826c34f34e1ce99d0870a0a0eefd71e4868a0 (diff) | |
download | upstream-dd5b3b58d8aa4427c40bc1247196a6693a57f460.tar.gz upstream-dd5b3b58d8aa4427c40bc1247196a6693a57f460.tar.bz2 upstream-dd5b3b58d8aa4427c40bc1247196a6693a57f460.zip |
lldpd: fix autoreconf failure
The lldpd sources ship a modified local AX_LIB_READLINE M4 macro which
conflicts with the official macro shipped by autoconf-archive.
Due to the official macro having the same name and a higher serial
number, autoconf will prefer including that one instead of the local
copy, preventing the substitution of @READLINE_LIBS@ in Makefile.in
templates, ultimately leading to the following build failure when
linking lldpcli:
...-gcc: error: READLINE_LIBS@: No such file or directory
Avoid this problem by renaming the locally shipped macro to not clash
with the official implementation anymore.
Ref: https://github.com/lldpd/lldpd/pull/423
Acked-by: Stijn Tintel <stijn@linux-ipv6.be>
Tested-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r-- | package/network/services/lldpd/patches/002-fix-AX_LIB_READLINE-macro-conflict.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/package/network/services/lldpd/patches/002-fix-AX_LIB_READLINE-macro-conflict.patch b/package/network/services/lldpd/patches/002-fix-AX_LIB_READLINE-macro-conflict.patch new file mode 100644 index 0000000000..9cdf66f2e7 --- /dev/null +++ b/package/network/services/lldpd/patches/002-fix-AX_LIB_READLINE-macro-conflict.patch @@ -0,0 +1,61 @@ +From 23509dc05b24a28fb46022800e0e271ae0118de2 Mon Sep 17 00:00:00 2001 +From: Jo-Philipp Wich <jo@mein.io> +Date: Wed, 9 Dec 2020 12:04:04 +0100 +Subject: [PATCH] build: prevent conflict with official AX_LIB_READLINE macro + +On systems where the official AX_LIB_READLINE (ax_lib_readline.m4) is +present in a globally shared autoconf include directory, auto(re)conf +will prefer including that offical version over the local variant due +to the offical macro having a higher serial number. + +As a consequence, @READLINE_LIBS@ will not be substituted in *.in files, +eventually failing the compilation with errors similar to: + + gcc: error: READLINE_LIBS@: No such file or directory + +Avoid this problem by renaming the incompatible local macro to +AX_LIB_READLINE_LLDPD which is sufficient to prevent any clashes. + +We encountered this problem on OpenWrt which uses GNU autoconf-archive +to provide commonly used M4 macros through a global include directory, +which happens to ship AX_LIB_READLINE as well. + +Signed-off-by: Jo-Philipp Wich <jo@mein.io> +--- + configure.ac | 2 +- + m4/ax_lib_readline.m4 | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +--- a/configure.ac ++++ b/configure.ac +@@ -273,7 +273,7 @@ AC_ARG_WITH([readline], + [], + [with_readline=auto]) + if test x"$with_readline" != x"no"; then +- AX_LIB_READLINE ++ AX_LIB_READLINE_LLDPD + if test x"$with_readline" != x"check" -a x"$with_readline" != x"auto"; then + if test x"$ax_cv_lib_readline" = x"no"; then + AC_MSG_FAILURE([*** no readline support found]) +--- a/m4/ax_lib_readline.m4 ++++ b/m4/ax_lib_readline.m4 +@@ -4,7 +4,7 @@ + # + # SYNOPSIS + # +-# AX_LIB_READLINE ++# AX_LIB_READLINE_LLDPD + # + # DESCRIPTION + # +@@ -66,8 +66,8 @@ + + #serial 6 + +-AU_ALIAS([VL_LIB_READLINE], [AX_LIB_READLINE]) +-AC_DEFUN([AX_LIB_READLINE], [ ++AU_ALIAS([VL_LIB_READLINE], [AX_LIB_READLINE_LLDPD]) ++AC_DEFUN([AX_LIB_READLINE_LLDPD], [ + AC_CACHE_CHECK([for a readline compatible library], + ax_cv_lib_readline, [ + _save_LIBS="$LIBS" |