[FFmpeg-cvslog] r14769 - trunk/configure

Stefano Sabatini stefano.sabatini-lala
Tue Aug 19 13:18:19 CEST 2008


On date Tuesday 2008-08-19 12:53:04 +0200, Stefano Sabatini wrote:
> On date Tuesday 2008-08-19 00:13:39 +0100, M?ns Rullg?rd wrote:
> > Luca Abeni <lucabe72 at email.it> writes:
> > 
> > > On Tue, 2008-08-19 at 00:51 +0200, Luca Abeni wrote:
> > >> Hi M?ns,
> > >> 
> > >> M?ns Rullg?rd wrote:
> > >> [...]
> > >> >> I'll try to test some older version of debian later...
> > >> > 
> > >> > We've already confirmed broken headers on some version of Ubuntu
> > >> > causing this problem.  I reckon it's the same thing here.
> > >> 
> > >> Ah, ok; I did not know this. Sorry for the noise, then.
> > >
> > > Sorry, just another question about this issue: shouldn't the configure
> > > script detect the broken videodev2 header and disable v4l2.c
> > > compilation?
> > >
> > > I mean: according to Stefano's log, the compilation fails when including
> > > linux/videodev2.h. The configure script tries to compile a simple
> > > program including this header, and should disable v4l2 if this
> > > compilation fails. So, I am wondering why the build system is trying to
> > > compile v4l2.c... What am I missing?
> > 
> > I'd have to see the configure log to answer that.
> 
> I'm appending it (compressed).

stefano at geppetto ~/tmp> cat /home/stefano/tmp/ffmpeg-conf-10528-8858-19115.c
#include <linux/videodev.h>
int x;
stefano at geppetto ~/tmp> gcc -I/home/stefano/include/ -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -fasm -std=c99 -fomit-frame-pointer -E -o /home/stefano/tmp/ffmpeg-conf-25914-8858-2638.o /home/stefano/tmp/ffmpeg-conf-10528-8858-19115.c
stefano at geppetto ~/tmp> gcc -I/home/stefano/include/ -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -fasm -std=c99 -fomit-frame-pointer -o /home/stefano/tmp/ffmpeg-conf-25914-8858-2638.o /home/stefano/tmp/ffmpeg-conf-10528-8858-19115.c
In file included from /usr/include/linux/videodev.h:15,
                 from /home/stefano/tmp/ffmpeg-conf-10528-8858-19115.c:1:
/usr/include/linux/videodev2.h:482: error: field ?timestamp? has incomplete type
/usr/include/linux/videodev2.h:600: error: expected ?=?, ?,?, ?;?, ?asm? or ?__attribute__? before ?v4l2_std_id?
/usr/include/linux/videodev2.h:692: error: expected specifier-qualifier-list before ?v4l2_std_id?
/usr/include/linux/videodev2.h:709: error: expected specifier-qualifier-list before ?v4l2_std_id?
/usr/include/linux/videodev2.h:747: error: expected specifier-qualifier-list before ?v4l2_std_id?
/usr/include/linux/videodev2.h:770: error: expected specifier-qualifier-list before ?__s64?
/usr/include/linux/videodev2.h:1145: error: expected specifier-qualifier-list before ?__u64?
/usr/include/linux/videodev2.h:1306: error: expected specifier-qualifier-list before ?__u64?

The compilation doesnt' fail because of the -E flag, it reports
success if the preprocessing was successfull, but doesn't try to
actually compile it. From the gcc man page:

    -E  Stop after the preprocessing stage; do not run the compiler proper.
           The output is in the form of preprocessed source code, which is
           sent to the standard output.

           Input files which don?t require preprocessing are ignored.

I wonder if this is a limit of the configure system.

BTW can someone suggest which linux headers work after the std=c99
change (who suggest to use a newer, who an older version), if the
problem is upstream we should report it.

Regards.




More information about the ffmpeg-cvslog mailing list