[Buildroot] [PATCH 1/1] package/mpd: fix static build with tremor and vorbis

Fabrice Fontaine fontaine.fabrice at gmail.com
Sat Jun 1 12:42:31 UTC 2019


mpd can't be built statically with tremor and vorbis, build fails on:
block.c:(.text+0x11c): multiple definition of `vorbis_block_init'
/usr/lfs/v0/rc-buildroot-test/scripts/instance-2/output/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/lib/libvorbisidec.a(block.o):block.c:(.text+0x0): first defined here
/usr/lfs/v0/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/7.4.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: Disabling relaxation: it will not work with multiple definitions
/usr/lfs/v0/rc-buildroot-test/scripts/instance-2/output/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/lib/libvorbis.a(block.o): In function `_vorbis_block_alloc':

Fix this by enabling vorbis or tremor depending on BR2_SOFT_FLOAT value
as suggested by Jörg in https://patchwork.ozlabs.org/patch/1085899

It should be noted that upstream removed the possibility to enable
tremor and vorbis at the same time since version 0.21.6 and
https://github.com/MusicPlayerDaemon/MPD/commit/c18cd941aaa4c16ac713bc4f1e16ada5281d689e

Fixes:
 - http://autobuild.buildroot.org/results/60c721a82ffd668bebf02d80bca83780d6cdb2f2

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
---
 package/mpd/Config.in | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index d3844391a2..039c2402c2 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -9,7 +9,6 @@ menuconfig BR2_PACKAGE_MPD
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
-	select BR2_PACKAGE_MPD_TREMOR if !(BR2_PACKAGE_MPD_MAD || BR2_PACKAGE_MPD_MPG123 || BR2_PACKAGE_MPD_VORBIS || BR2_PACKAGE_MPD_WAVPACK || BR2_PACKAGE_MPD_FLAC || BR2_PACKAGE_MPD_MUSEPACK || BR2_PACKAGE_MPD_FFMPEG)
 	help
 	  MPD is a flexible, powerful, server-side application
 	  for playing music. Through plugins and libraries
@@ -132,18 +131,20 @@ config BR2_PACKAGE_MPD_OPUS
 	  Select this if you want to play back OPUS encoded files.
 
 config BR2_PACKAGE_MPD_TREMOR
-	bool "tremor"
+	bool "tremor" if !BR2_SOFT_FLOAT
 	select BR2_PACKAGE_LIBOGG
 	select BR2_PACKAGE_TREMOR
+	default y if !BR2_SOFT_FLOAT
 	help
 	  Enable vorbis input support.
 	  Select this if you want to play back OGG files on softfloat
 	  targets.
 
 config BR2_PACKAGE_MPD_VORBIS
-	bool "vorbis"
+	bool "vorbis" if BR2_SOFT_FLOAT
 	select BR2_PACKAGE_LIBOGG
 	select BR2_PACKAGE_LIBVORBIS
+	default y if BR2_SOFT_FLOAT
 	help
 	  Enable vorbis input/streaming support.
 	  Select this if you want to play back OGG files on hardfloat
-- 
2.20.1



More information about the buildroot mailing list