I run a subversion update to get the latest version of mplayer, 35007.
Then make clean, make distclean, configure. It runs along fine until
the following error.
cc -MD -MP -Wundef -Wall -Wno-switch -Wno-parentheses -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wmissing-prototypes -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -Werror-implicit-function-declaration -O4 -march=native -mtune=native -pipe -ffast-math -fomit-frame-pointer -fno-tree-vectorize -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Ilibdvdread4 -I. -Iffmpeg -D_REENTRANT -I/usr/include/directfb -I/usr/include/ -pthread -I/usr/include/kde/artsc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/bs2b -DHAVE_STRUCT_SOCKADDR_STORAGE -I/usr/include/dirac -I/usr/include/schroedinger-1.0 -I/usr/include/orc-0.4 -c -o libmpcodecs/vf_fspp.o libmpcodecs/vf_fspp.c
In file included from ffmpeg/libavutil/internal.h:182:0,
from libmpcodecs/vf_fspp.c:51:
ffmpeg/libavutil/libm.h:53:6: warning: "HAVE_ISINF" is not defined [-Wundef]
ffmpeg/libavutil/libm.h:63:6: warning: "HAVE_ISNAN" is not defined [-Wundef]
In file included from ffmpeg/libavutil/internal.h:182:0,
from libmpcodecs/vf_fspp.c:51:
ffmpeg/libavutil/libm.h:54:74: error: expected identifier or '(' before 'sizeof'
ffmpeg/libavutil/libm.h:64:74: error: expected identifier or '(' before 'sizeof'
make: *** [libmpcodecs/vf_fspp.o] Error 1
This is on Fedora 17 x86_64.
Thanks.
On 06/28/2012 09:35 AM, stan wrote:
> I run a subversion update to get the latest version of mplayer, 35007.
> Then make clean, make distclean, configure. It runs along fine until
> the following error.
>
> cc -MD -MP -Wundef -Wall -Wno-switch -Wno-parentheses -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wmissing-prototypes -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -Werror-implicit-function-declaration -O4 -march=native -mtune=native -pipe -ffast-math -fomit-frame-pointer -fno-tree-vectorize -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Ilibdvdread4 -I. -Iffmpeg -D_REENTRANT -I/usr/include/directfb -I/usr/include/ -pthread -I/usr/include/kde/artsc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/bs2b -DHAVE_STRUCT_SOCKADDR_STORAGE -I/usr/include/dirac -I/usr/include/schroedinger-1.0 -I/usr/include/orc-0.4 -c -o libmpcodecs/vf_fspp.o libmpcodecs/vf_fspp.c
> In file included from ffmpeg/libavutil/internal.h:182:0,
> from libmpcodecs/vf_fspp.c:51:
> ffmpeg/libavutil/libm.h:53:6: warning: "HAVE_ISINF" is not defined [-Wundef]
> ffmpeg/libavutil/libm.h:63:6: warning: "HAVE_ISNAN" is not defined [-Wundef]
> In file included from ffmpeg/libavutil/internal.h:182:0,
> from libmpcodecs/vf_fspp.c:51:
> ffmpeg/libavutil/libm.h:54:74: error: expected identifier or '(' before 'sizeof'
> ffmpeg/libavutil/libm.h:64:74: error: expected identifier or '(' before 'sizeof'
> make: *** [libmpcodecs/vf_fspp.o] Error 1
>
> This is on Fedora 17 x86_64.The offending commit is FFmpeg revision
46df708b45b34191973ef5181b052ce8e583bb4e, "Provide fallback definitions for
isnan() and isinf()".
In other words, by trying to be robust against systems which don't provide one
or the other, they broke building (without configure updates, which are in the
same commit) on systems that don't define HAVE_ISNAN and HAVE_ISINF. This
probably doesn't affect much other than MPlayer.
I can confirm that if you *do* have those two functions, simply configuring with
'--extra-cflags=-DHAVE_ISNAN -DHAVE-ISINF" works fine.
The attached quick-and-maybe-dirty patch seems to fix the problem for me.
On Thu, 28 Jun 2012 09:57:40 -0400
The Wanderer wrote:
>
> The offending commit is FFmpeg revision
> 46df708b45b34191973ef5181b052ce8e583bb4e, "Provide fallback
> definitions for isnan() and isinf()".
>
> In other words, by trying to be robust against systems which don't
> provide one or the other, they broke building (without configure
> updates, which are in the same commit) on systems that don't define
> HAVE_ISNAN and HAVE_ISINF. This probably doesn't affect much other
> than MPlayer.
>
> I can confirm that if you *do* have those two functions, simply
> configuring with '--extra-cflags=-DHAVE_ISNAN -DHAVE-ISINF" works
> fine.
>
> The attached quick-and-maybe-dirty patch seems to fix the problem for
> me.
>Thanks for the fast response. I didn't try the patch, but I can
confirm that running configure as
./configure --extra-cflags="-DHAVE_ISNAN -DHAVE_ISINF"
allows the make to succeed.