GNOME Bugzilla – Bug 135919
v4l2 plugins don't build on SuSE 9 & Mandrake 10
Last modified: 2004-12-22 21:47:04 UTC
The configure script detects v4l2, but the build fails on gstv4l2src.h gcc complains 'error: storage size of `buffer' isn't known' on line 55: 54 struct _GstV4l2Buffer { 55 struct v4l2_buffer buffer; 56 guint8 * start; In the videodev2.h head that ships w/ SuSE 9, the definition of struct v4l2_buffer is wrapped in #ifdef __KERNEL/#endif. The path of least resistance is to just check for that struct in configure.ac. A patch is attached.
Created attachment 25014 [details] [review] Check for struct v4l2_buffer in configure.ac
No no no, that's very wrong. I'll ask this on the v4l mailinglist.
Oh, and please provide a copy of Suse-9.0's videodev2.h - maybe it helps if I have a look.
Created attachment 25022 [details] videodev2.h shipped w/ SuSE 9
Ewh, something's really screwed... I've asked on the v4l mailinglist, I'll wait for a reply there. If that's "not good"(tm), you can disable v4l2 here...
Uh, nice. "Ship your won header" is a nice answer. Anyway, the bug is in the SUSE header, as the struct is to be used by ioctls. Someone should file a bug against that in Suse. And we'll gladly take an AC_TRY_COMPILE check for this, too I guess. ;)
*nod*. Anyway, Gerd (Suse guy) said on the mailinglist that he'd fix it in the suse header and acknowledged the bug, that's good enough for me. Go ahead with the AC_TRY_COMPILE; it'd be cool if, instead of disabling, you could declare a macro NEED_V4L2_BUF_STRUCT_DEF or so and declare the struct conditionally somewhere in the gstv4l2*.h headers. That way, also Suse users can use the v4l2 plugins. :).
*** Bug 136265 has been marked as a duplicate of this bug. ***
*** Bug 138473 has been marked as a duplicate of this bug. ***
Jon, any progress on this? All those poor Suse users are filing bugs right now. ;).
Actually, Bug 138473 was not a SuSE machine but a Mandrake 10 machine
The bug is the same nevertheless... Adding Mandrake to affected distros. Funny, this means Mandrake uses Suse's headers.
Fixed in CVS.