[Buildroot] [PATCH 1/1] package/alsa-utils: needs dynamic library
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Sun Aug 14 10:27:30 UTC 2022
Hello Fabrice,
On Fri, 12 Aug 2022 15:21:44 +0200
Fabrice Fontaine <fontaine.fabrice at gmail.com> wrote:
> alsa-utils needs dynamic library since bump to version 1.2.7 in commit
> 4dc8563363d639255217ffc59482eaccf93a1b51 and
> https://github.com/alsa-project/alsa-utils/commit/44d3e8aa44fc12f95bfeef0e3a1051e8f77047b5:
>
> pre-processor.c:28:10: fatal error: dlfcn.h: No such file or directory
> 28 | #include <dlfcn.h>
> | ^~~~~~~~~
>
> Fixes:
> - http://autobuild.buildroot.org/results/1173a1ee28a58ce565a3274f35e868c35bb2e04e
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
I think alsa-utils could potentially be useful even in small systems
that require static linking, so it's perhaps worth implementing a
slightly better solution.
<dlfcn.h> is only used in topology/, i.e. when configure.ac detects
that topology.h is installed by alsa-lib. What about adding an
AC_CHECK_HEADERS([dlfcn.h]) ?
Something like this:
diff --git a/configure.ac b/configure.ac
index 20cbb68..c1592b6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,6 +27,8 @@ AC_CHECK_FUNC([snd_ctl_elem_add_enumerated],
, [AC_ERROR([No user enum control support in alsa-lib])])
fi
+AC_CHECK_HEADERS([dlfcn.h])
+
dnl Check components
AC_CHECK_HEADERS([alsa/pcm.h], [have_pcm="yes"], [have_pcm="no"],
[#include <alsa/asoundlib.h>])
@@ -74,7 +76,7 @@ AM_CONDITIONAL(HAVE_MIXER, test "$have_mixer" = "yes")
AM_CONDITIONAL(HAVE_RAWMIDI, test "$have_rawmidi" = "yes")
AM_CONDITIONAL(HAVE_SEQ, test "$have_seq" = "yes")
AM_CONDITIONAL(HAVE_UCM, test "$have_ucm" = "yes")
-AM_CONDITIONAL(HAVE_TOPOLOGY, test "$have_topology" = "yes")
+AM_CONDITIONAL(HAVE_TOPOLOGY, test "$have_topology" = "yes" -a "$ac_cv_header_dlfcn_h" = "yes")
AM_CONDITIONAL(HAVE_SAMPLERATE, test "$have_samplerate" = "yes")
AM_CONDITIONAL(HAVE_FFADO, test "$have_ffado" = "yes")
Of course, we would need BR2_PACKAGE_ALSA_UTILS_ALSATPLG to have a
dependency on !BR2_STATIC_LIBS.
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
More information about the buildroot
mailing list