Dave Yeo <[email protected]> writes: > On 05/25/11 12:29 pm, Diego Biurrun wrote: >> On Thu, May 12, 2011 at 07:02:01PM -0700, Dave Yeo wrote: >>> On 05/12/11 08:30 am, Diego Biurrun wrote: >>>> >>>> Now on to specific FATE configurations and their flags and hacks: >>> [...] >>>> * os/2 >>>> >>>> This configuration sets '-D_GNU_SOURCE', which is suspicious. >>>> I'd like to see what happens now if it is removed. > [...] >>> CC libavcodec/aaccoder.o >>> /usr/src/ffmpeg.libav/libavcodec/aaccoder.c: In function 'coef2minsf': >>> /usr/src/ffmpeg.libav/libavcodec/aaccoder.c:522:5: error: implicit >>> declaration of function 'log2f' > [...] >>> make: *** [libavcodec/aaccoder.o] Error 1 >>> >>> This really should be caught in configure where check_mathfunc log2 and >>> log2f generate implicit declaration of function warnings. One fix would >>> be enabling -Werror=implicit-function-declaration earlier in configure. >> >> That fix you suggest is less trivial than it may sound. > > What about the attached? OS/2 (actually eCS) is now shipping with GCC > 4.5.2 which is plenty new enough to support > -Werror=implicit-function-declaration and it can be removed if and > when the headers are fixed. > I've filed http://svn.netlabs.org/libc/ticket/243 about this.
The problem here is that the system math.h is missing some declarations, even though the functions are actually available in libm or as gcc builtins, allowing the configure tests to pass. Later on, we add -Werror=implicit-function-declaration, causing the build to fail when these functions are used. Adding -Werror=implicit-function-declaration earlier would make the configure tests fail needlessly (the functions _are_ usable) and trigger the replacement functions in libavutil/libm.h. If this happens, the compiler either errors or warns about incompatible declarations of builtin functions (ours are static inline), which is not really much better. >> Can you paste config.log and config.h somewhere? And maybe upload a >> tarball of system headers? > > Sure, they should be here, http://www.box.net/shared/rm86u32ey0. Note > that there are a couple of headers that I've added such as pthread.h. > The headers are also available at > http://svn.netlabs.org/libc/browser/branches/libc-0.6/src/emx/include. This clearly needs _GNU_SOURCE for those functions to be visible. That means we should add it in the OS/2 section of configure, weird as it may seem. -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
