[Buildroot] [PATCH 1/1] package/mplayer: add optional support for mpg123

Bernd Kuhls bernd.kuhls at t-online.de
Sat Jun 4 08:00:20 UTC 2016


mplayer has optional support for mpg123, to get reproducable builds
add mpg123 as optional dependency.

Linked libraries without this patch:
$ output/host/usr/bin/x86_64-linux-readelf -a output/target/usr/bin/mplayer | grep NEEDED
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.1]

Linked libraries after this patch:
$ output/host/usr/bin/x86_64-linux-readelf -a output/target/usr/bin/mplayer | grep NEEDED
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libmpg123.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.1]

Like with many other optional libraries detection of mpg123 is broken if
--enable-mpg123 is passed to configure leading to a build error:

libmpcodecs/ad_mpg123.o: In function `set_format':
ad_mpg123.c:(.text+0x63): undefined reference to `mpg123_getformat'
libmpcodecs/ad_mpg123.o: In function `decode_a_bit':
ad_mpg123.c:(.text+0x1b6): undefined reference to `mpg123_feed'
ad_mpg123.c:(.text+0x20e): undefined reference to `mpg123_replace_buffer'
ad_mpg123.c:(.text+0x223): undefined reference to `mpg123_decode_frame_64'
ad_mpg123.c:(.text+0x275): undefined reference to `mpg123_strerror'
[...]

Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
---
 package/mplayer/mplayer.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/mplayer/mplayer.mk b/package/mplayer/mplayer.mk
index 347ed5e..9ae7ca4 100644
--- a/package/mplayer/mplayer.mk
+++ b/package/mplayer/mplayer.mk
@@ -174,6 +174,14 @@ MPLAYER_DEPENDENCIES += libmpeg2
 MPLAYER_CONF_OPTS += --disable-libmpeg2-internal
 endif
 
+# We intentionally don't pass --enable-mpg123, to let the
+# autodetection find which library to link with.
+ifeq ($(BR2_PACKAGE_MPG123),y)
+MPLAYER_DEPENDENCIES += mpg123
+else
+MPLAYER_CONF_OPTS += --disable-mpg123
+endif
+
 ifeq ($(BR2_PACKAGE_TREMOR),y)
 MPLAYER_DEPENDENCIES += tremor
 MPLAYER_CONF_OPTS += --enable-tremor
-- 
2.8.1



More information about the buildroot mailing list