mplayer uses a homegrown configure script that calls 'gcc -v | tail -1'
to find the gcc version. However, our toolchain wrapper adds
-Wl,-elf2flt to the gcc arguments. This triggers gcc to do an actual
compile (rather than just printing version info and exiting), and that
compile fails because of the missing definition of main(). The last
line of the output is therefore:
collect2: error: ld returned 1 exit status
and configure doesn't find a version in there. It then falls back to
using the host gcc instead, which breaks things completely a bit
further down the line.
Since mplayer probably isn't very useful on noMMU architectures anyway,
just disable it completely for FLAT.
Fixes:
http://autobuild.buildroot.net/results/58cf28a3acd518633a1d8ea719bc70aefbdfb311
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As reported in bug #8206, the mplayer configure script fails to detect
the availability of X11 header/library if the X.org development packages
are not installed on the build machine.
This is due to the logic used by the mplayer configure script, which
looks like this:
for I in $(echo $extra_cflags | sed s/-I//g) /usr/include ; do
if test -f "$I/X11/Xlib.h" ; then
_x11_headers="yes"
So, in other words, it:
1/ Parses the --extra-cflags option, and finds the -I options in there.
2/ Looks in /usr/include
Since $(STAGING_DIR)/usr/include is in the compiler built-in search path
for headers, we currently don't explicitly pass it in --extra-cflags, so
mplayer only looks in /usr/include. If you have X11 headers there thanks
to being installed on your build machine, everything works fine (the
rest of the build logic really uses the headers and libraries of the
cross-compiler). But if you don't have X11 headers in /usr/include, the
configure scripts assumes X11 is not available.
Since fixing the hand-written configure script of mplayer, hosted in a
Subversion repository, is beyond sanity, we simply work around this
problem by passing the appropriate -I$(STAGING_DIR)/usr/include option
in --extra-cflags.
Before this patch, during the configure script:
Checking for X11 headers presence ... no (check if the dev(el) packages are installed)
Checking for X11 ... no (check if the dev(el) packages are installed)
And then, the mplayer binary:
0x00000001 (NEEDED) Shared library: [librt.so.0]
0x00000001 (NEEDED) Shared library: [libz.so.1]
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libdl.so.0]
0x00000001 (NEEDED) Shared library: [libm.so.0]
0x00000001 (NEEDED) Shared library: [libc.so.0]
With this patch, during the configure script:
Checking for X11 headers presence ... yes
Checking for X11 ... yes
And then, the mplayer binary:
0x00000001 (NEEDED) Shared library: [librt.so.0]
0x00000001 (NEEDED) Shared library: [libz.so.1]
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libdl.so.0]
0x00000001 (NEEDED) Shared library: [libm.so.0]
0x00000001 (NEEDED) Shared library: [libXext.so.6]
0x00000001 (NEEDED) Shared library: [libX11.so.6]
0x00000001 (NEEDED) Shared library: [libXinerama.so.1]
0x00000001 (NEEDED) Shared library: [libXxf86vm.so.1]
0x00000001 (NEEDED) Shared library: [libc.so.0]
Fixes bug #8206
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Even though mplayer bundles the ffmpeg code base (and ffmpeg is not
affected by this issue), mplayer uses its own build system and doesn't
test properly for the availability (or not) of atomic operations. In
order to keep things simple, we simply make mplayer depend on the
availability of atomic operations, since it assumes they are available.
The reverse dependency is propagated to libplayer and tovid.
Fixes:
http://autobuild.buildroot.net/results/6306757da3be9bb7e3cdcbfc8abb4e64a3fb7913/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Added upstream commit to fix compilation when zlib is missing.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The mplayer configure script tries to detect the capabilities of the CPU
used by probing the host CPU. This leads to compilation failures if the
target CPU has lesser features, like missing mmx support for
BR2_x86_i686=y:
Checking for CPU vendor ... GenuineIntel (6:58:9)
Checking for CPU type ... Intel(R) Core(TM) i7-3770S CPU @ 3.10GHz
Checking for kernel support of sse ... yes
Checking for kernel support of sse2 ... yes
Checking for kernel support of sse3 ... yes
Checking for kernel support of ssse3 ... yes
Checking for kernel support of sse4_1 ... yes
Checking for kernel support of sse4_2 ... yes
Checking for kernel support of avx ... yes
For this patch I copied most of ffmpeg configure options for x86 CPUs
because mplayer contains its own copy of ffmpeg.
Fixes
http://autobuild.buildroot.net/results/c5a/c5a722607ec9797c317b63b0fd3235608a340c98/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
samba(3) has been deprecated for quite some time so switch mplayer to
use samba4 if available.
It needs a little extra tweak to pick up the proper cflags since the odd
configure script doesn't do it.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
apng and tdsc are enabled by default, but they need zlib, otherwise the
compilation will fail with an error like this one:
libavcodec/pngdec.c:35:18: fatal error: zlib.h: No such file or
directory
#include <zlib.h>
^
compilation terminated.
So add an autodep on BR2_PACKAGE_ZLIB to enable or disable support for
apng and tdsc accordingly.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Most code is GPLv2+ or compatible except for one file that is
GPLv2-only, hence as a whole is GPLv2 (see Copyright).
Also kill some whitespace and make the only hard dependency
(host-pkgconf) a hard dependency, not an addition, since it's not
conditional.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that IPv6 is mandatory remove package dependencies and conditionals
for it.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: don't pass --enable-termcap, and rely on autodetection
instead of forcing -lncurses.]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In order to allow other packages to easily select mplayer without
duplicating its complicated architecture dependencies, this commit
introduces a BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS blind option.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now that largefile is mandatory removes package dependencies and
conditionals.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: Use --enable-gif / --disable-gif, and do not pass
--extra-libs.]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
mplayer fails to compile with the following error message:
libmpdemux/demux_gif.c: In function 'demux_open_gif':
libmpdemux/demux_gif.c:260:3: error: too few arguments to function
'DGifOpen'
gif = DGifOpen(demuxer->stream, my_read_gif);
Backport an upstream patch to support newer versions of libgif in
mplayer. Unfortunately this patch is incomplete and mplayer stills
failing to compile with a new error message:
libvo/vo_gif89a.c: In function 'uninit':
libvo/vo_gif89a.c:374:3: error: too few arguments to function
'EGifCloseFile'
EGifCloseFile(new_gif); // also frees gif storage space.
So I have written a new patch and submitted it upstream to finally fix
the problem.
Upstream commit:
a0ddaef545
New submitted patch:
https://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2015-February/072848.html
Fixes:
http://autobuild.buildroot.net/results/a51/a510a0ab2cb827bb91b4fdec43055f2bfda239b1/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Autogenerated from rename-patch.py (http://patchwork.ozlabs.org/patch/403345)
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Move include directories out of $(STAGING_DIR)/usr/include/live. This is
upstream choice, and is consistent with e.g. Debian. Update mplayer and vlc to
match.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>