[gstreamer-bugs] [Bug 597867] New: Plugins good do not build on Ubuntu Hardy (kernel 2.6.24)

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Oct 8 17:58:13 PDT 2009


https://bugzilla.gnome.org/show_bug.cgi?id=597867
  GStreamer | gst-plugins-good | 0.10.16

           Summary: Plugins good do not build on Ubuntu Hardy (kernel
                    2.6.24)
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.16
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: pgquiles at elpauer.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


Created an attachment (id=145091)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=145091)
fix

If you try to build plugins good 0.10.16 on Hardy, it will fail with a cryptic
error like this:

make[4]: Entering directory `/tmp/buildd/gst-plugins-good0.10-0.10.16/sys/v4l2' 
  CC    gstv4l2.o                                                               
  CC    gstv4l2colorbalance.o                                                   
  CC    gstv4l2object.o                                                         
gstv4l2object.c: In function 'gst_v4l2_object_fill_format_list':                
gstv4l2object.c:842: warning: implicit declaration of function '_IOWR'          
gstv4l2object.c:842: error: expected expression before 'struct'
gstv4l2object.c: In function 'gst_v4l2_object_probe_caps_for_format_and_size':
gstv4l2object.c:1304: error: expected expression before 'struct'
gstv4l2object.c:1331: error: expected expression before 'struct'
gstv4l2object.c: In function 'gst_v4l2_object_probe_caps_for_format':
gstv4l2object.c:1519: error: expected expression before 'struct'
gstv4l2object.c:1540: error: expected expression before 'struct'
gstv4l2object.c: In function 'gst_v4l2_object_get_nearest_size':
gstv4l2object.c:1737: error: expected expression before 'struct'
gstv4l2object.c:1744: error: expected expression before 'struct'
gstv4l2object.c:1764: error: expected expression before 'struct'
gstv4l2object.c:1771: error: expected expression before 'struct'
gstv4l2object.c: In function 'gst_v4l2_object_set_format':
gstv4l2object.c:1804: error: expected expression before 'struct'
gstv4l2object.c:1816: error: expected expression before 'struct'
gstv4l2object.c:1827: error: expected expression before 'struct'
gstv4l2object.c: In function 'gst_v4l2_object_start_streaming':
gstv4l2object.c:1882: warning: implicit declaration of function '_IOW'
gstv4l2object.c:1882: error: expected expression before 'int'
gstv4l2object.c: In function 'gst_v4l2_object_stop_streaming':
gstv4l2object.c:1895: error: expected expression before 'int'
make[4]: *** [libgstvideo4linux2_la-gstv4l2object.lo] Error 1

It's because _IOWRT is defined in ioctl.h. Doing #include <sys/ioctl.h> fixes
the issue. This does not happen with newer kernels (2.6.28 and newer do not
suffer from this, I don't know what exact version of the kernel fixed this).

The attached patch (include_ioctl.patch) fixes the issue for me, although is
not probably the optimal solution (I'm #including for all operating systems, in
all cases).

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list