Message ID | 20221030175632.4139-1-fontaine.fabrice@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [v2,1/2] package/openipmi: add libexecinfo optional dependency | expand |
Fabrice, All, On 2022-10-30 18:56 +0100, Fabrice Fontaine spake thusly: > Add libexecinfo optional dependency as upstream rejected the patch to > add --with-execinfo=no Indeed, they rejected it, but they suggested an alternate solution: check for backtrace() and whether it requires -lexecinfo. Something like: AC_SEARCH_LIBS( [backtrace], [execinfo], , [AC_MSG_ERROR([backtrace() not found and no library provides it; maybe install libexecinfo])] ) Regards, Yann E. MORIN. > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > --- > Changes v1 -> v2 (after review of Yann E. Morin): > - Add missing local patch > > ...igure.ac-add-without-execinfo-option.patch | 55 ------------------- > package/openipmi/openipmi.mk | 6 +- > 2 files changed, 5 insertions(+), 56 deletions(-) > delete mode 100644 package/openipmi/0002-configure.ac-add-without-execinfo-option.patch > > diff --git a/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch b/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch > deleted file mode 100644 > index e1838a06f4..0000000000 > --- a/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch > +++ /dev/null > @@ -1,55 +0,0 @@ > -From 388033e3d0129510c3884333bc428cefeb75e0b8 Mon Sep 17 00:00:00 2001 > -From: Fabrice Fontaine <fontaine.fabrice@gmail.com> > -Date: Mon, 3 Jan 2022 23:27:21 +0100 > -Subject: [PATCH] configure.ac: add --without-execinfo option > - > -Add an option to allow the user to disable execinfo to avoid the > -following build failure on musl with > -https://github.com/mikroskeem/libexecinfo: > - > -/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-musl/10.3.0/../../../../x86_64-buildroot-linux-musl/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/openipmi-2.0.28/utils/.libs/libOpenIPMIutils.so: undefined reference to `backtrace' > - > -Fixes: > - - http://autobuild.buildroot.org/results/dcc33c5cca97d538231647a94212450f043974b3 > - > -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > -[Upstream status: https://sourceforge.net/p/openipmi/patches/36] > ---- > - configure.ac | 14 +++++++++++++- > - 1 file changed, 13 insertions(+), 1 deletion(-) > - > -diff --git a/configure.ac b/configure.ac > -index 607864b9..f369166f 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -77,6 +77,16 @@ AC_ARG_WITH(poptlibs, > - POPTLIBS="$withval" > - ) > - > -+tryexecinfo=yes > -+AC_ARG_WITH(execinfo, > -+[ --with-execinfo[[=yes|no]] Look for execinfo.], > -+ if test "x$withval" = "xyes"; then > -+ tryexecinfo=yes > -+ elif test "x$withval" = "xno"; then > -+ tryexecinfo=no > -+ fi, > -+) > -+ > - # If UCD SNMP requires OpenSSL, this tells where to find the crypto lib > - tryopenssl=yes > - AC_ARG_WITH(openssl, > -@@ -275,7 +285,9 @@ AM_PROG_CC_C_O > - AC_PROG_LIBTOOL > - AC_STDC_HEADERS > - > --AC_CHECK_HEADERS(execinfo.h) > -+if test "x$tryexecinfo" != "xno"; then > -+ AC_CHECK_HEADERS(execinfo.h) > -+fi > - AC_CHECK_HEADERS([netinet/ether.h]) > - AC_CHECK_HEADERS([sys/ethernet.h]) > - > --- > -2.34.1 > - > diff --git a/package/openipmi/openipmi.mk b/package/openipmi/openipmi.mk > index b3a4d90d4b..81492ec131 100644 > --- a/package/openipmi/openipmi.mk > +++ b/package/openipmi/openipmi.mk > @@ -15,7 +15,6 @@ OPENIPMI_INSTALL_STAGING = YES > OPENIPMI_AUTORECONF = YES > OPENIPMI_CONF_ENV = ac_cv_path_pkgprog="$(PKG_CONFIG_HOST_BINARY)" > OPENIPMI_CONF_OPTS = \ > - --with-execinfo=no \ > --with-glib=no \ > --with-tcl=no \ > --with-perl=no \ > @@ -26,6 +25,11 @@ ifeq ($(BR2_PACKAGE_GDBM),y) > OPENIPMI_DEPENDENCIES += gdbm > endif > > +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) > +OPENIPMI_DEPENDENCIES += libexecinfo > +OPENIPMI_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lexecinfo" > +endif > + > ifeq ($(BR2_PACKAGE_OPENSSL),y) > OPENIPMI_DEPENDENCIES += openssl > OPENIPMI_CONF_OPTS += --with-openssl=yes > -- > 2.35.1 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
On Sun, 30 Oct 2022 18:56:31 +0100 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: > Add libexecinfo optional dependency as upstream rejected the patch to > add --with-execinfo=no > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > --- > Changes v1 -> v2 (after review of Yann E. Morin): > - Add missing local patch Both applied, thanks! Thomas
Hello Yann, On Sun, 30 Oct 2022 19:20:41 +0100 "Yann E. MORIN" <yann.morin.1998@free.fr> wrote: > Fabrice, All, > > On 2022-10-30 18:56 +0100, Fabrice Fontaine spake thusly: > > Add libexecinfo optional dependency as upstream rejected the patch to > > add --with-execinfo=no > > Indeed, they rejected it, but they suggested an alternate solution: > check for backtrace() and whether it requires -lexecinfo. > > Something like: > > AC_SEARCH_LIBS( > [backtrace], > [execinfo], > , > [AC_MSG_ERROR([backtrace() not found and no library provides it; maybe install libexecinfo])] > ) > > Regards, > Yann E. MORIN. Agreed, but for now, Fabrice's patch was good enough, so I applied as-is. It will certainly be nice if Fabrice has the chance to work on a better solution using AC_SEARCH_LIBS(). Best regards, Thomas
diff --git a/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch b/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch deleted file mode 100644 index e1838a06f4..0000000000 --- a/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 388033e3d0129510c3884333bc428cefeb75e0b8 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine <fontaine.fabrice@gmail.com> -Date: Mon, 3 Jan 2022 23:27:21 +0100 -Subject: [PATCH] configure.ac: add --without-execinfo option - -Add an option to allow the user to disable execinfo to avoid the -following build failure on musl with -https://github.com/mikroskeem/libexecinfo: - -/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-musl/10.3.0/../../../../x86_64-buildroot-linux-musl/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/openipmi-2.0.28/utils/.libs/libOpenIPMIutils.so: undefined reference to `backtrace' - -Fixes: - - http://autobuild.buildroot.org/results/dcc33c5cca97d538231647a94212450f043974b3 - -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> -[Upstream status: https://sourceforge.net/p/openipmi/patches/36] ---- - configure.ac | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 607864b9..f369166f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -77,6 +77,16 @@ AC_ARG_WITH(poptlibs, - POPTLIBS="$withval" - ) - -+tryexecinfo=yes -+AC_ARG_WITH(execinfo, -+[ --with-execinfo[[=yes|no]] Look for execinfo.], -+ if test "x$withval" = "xyes"; then -+ tryexecinfo=yes -+ elif test "x$withval" = "xno"; then -+ tryexecinfo=no -+ fi, -+) -+ - # If UCD SNMP requires OpenSSL, this tells where to find the crypto lib - tryopenssl=yes - AC_ARG_WITH(openssl, -@@ -275,7 +285,9 @@ AM_PROG_CC_C_O - AC_PROG_LIBTOOL - AC_STDC_HEADERS - --AC_CHECK_HEADERS(execinfo.h) -+if test "x$tryexecinfo" != "xno"; then -+ AC_CHECK_HEADERS(execinfo.h) -+fi - AC_CHECK_HEADERS([netinet/ether.h]) - AC_CHECK_HEADERS([sys/ethernet.h]) - --- -2.34.1 - diff --git a/package/openipmi/openipmi.mk b/package/openipmi/openipmi.mk index b3a4d90d4b..81492ec131 100644 --- a/package/openipmi/openipmi.mk +++ b/package/openipmi/openipmi.mk @@ -15,7 +15,6 @@ OPENIPMI_INSTALL_STAGING = YES OPENIPMI_AUTORECONF = YES OPENIPMI_CONF_ENV = ac_cv_path_pkgprog="$(PKG_CONFIG_HOST_BINARY)" OPENIPMI_CONF_OPTS = \ - --with-execinfo=no \ --with-glib=no \ --with-tcl=no \ --with-perl=no \ @@ -26,6 +25,11 @@ ifeq ($(BR2_PACKAGE_GDBM),y) OPENIPMI_DEPENDENCIES += gdbm endif +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +OPENIPMI_DEPENDENCIES += libexecinfo +OPENIPMI_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lexecinfo" +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) OPENIPMI_DEPENDENCIES += openssl OPENIPMI_CONF_OPTS += --with-openssl=yes
Add libexecinfo optional dependency as upstream rejected the patch to add --with-execinfo=no Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- Changes v1 -> v2 (after review of Yann E. Morin): - Add missing local patch ...igure.ac-add-without-execinfo-option.patch | 55 ------------------- package/openipmi/openipmi.mk | 6 +- 2 files changed, 5 insertions(+), 56 deletions(-) delete mode 100644 package/openipmi/0002-configure.ac-add-without-execinfo-option.patch