[mythtv] Re: [mythtv-users] problem compiling 0.12

David Engel dlengel at attbi.com
Fri Nov 7 23:21:45 EST 2003


[Cross posted to ivtv-devel]

On Fri, Nov 07, 2003 at 07:03:22PM -0500, Doug Larrick wrote:
> I think the problem is not gcc or qmake versions, but Debian's glibc  
> 2.3.2.ds1-10, which redefines the _IOR macro as follows:

No, the problem is with ivtv.  It's frame buffer ioctl definitions are
incorrect.  The problem only showed up recently because the kernel
headers use with Debian's latest libc are more strict.  Unfortunately,
fixing the definitions that myth uses breaks PVR 350 output because
they have to excatly match those in the ivtv driver and it hasn't been
fixed yet.  I notified the ivtv developers of the problem last week
but seem to have been soundly ignored.

For now, you can use the attached patch, but only if you don't use PVR
350 output.

David
-- 
David Engel
dlengel at attbi.com
-------------- next part --------------
Index: ivtv-ext-api.h
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/ivtv-ext-api.h,v
retrieving revision 1.5
diff -u -r1.5 ivtv-ext-api.h
--- ivtv-ext-api.h	30 Oct 2003 15:06:40 -0000	1.5
+++ ivtv-ext-api.h	8 Nov 2003 04:20:12 -0000
@@ -144,13 +144,13 @@
   int y1;
 };
 
-#define IVTVFB_IOCTL_GET_STATE          _IOR('@', 1, sizeof(struct ivtvfb_ioctl_state_info))
-#define IVTVFB_IOCTL_SET_STATE          _IOW('@', 2, sizeof(struct ivtvfb_ioctl_state_info))
-#define IVTVFB_IOCTL_PREP_FRAME         _IOW('@', 3, sizeof(struct ivtvfb_ioctl_dma_host_to_ivtv_args))
-#define IVTVFB_IOCTL_BLT_COPY           _IOW('@', 4, sizeof(struct ivtvfb_ioctl_blt_copy_args))
-#define IVTVFB_IOCTL_GET_ACTIVE_BUFFER  _IOR('@', 5, sizeof(struct ivtv_osd_coords))
-#define IVTVFB_IOCTL_SET_ACTIVE_BUFFER  _IOW('@', 6, sizeof(struct ivtv_osd_coords))
-#define IVTVFB_IOCTL_GET_FRAME_BUFFER   _IOR('@', 7, sizeof(struct ivtvfb_ioctl_get_frame_buffer))
+#define IVTVFB_IOCTL_GET_STATE          _IOR('@', 1, struct ivtvfb_ioctl_state_info)
+#define IVTVFB_IOCTL_SET_STATE          _IOW('@', 2, struct ivtvfb_ioctl_state_info)
+#define IVTVFB_IOCTL_PREP_FRAME         _IOW('@', 3, struct ivtvfb_ioctl_dma_host_to_ivtv_args)
+#define IVTVFB_IOCTL_BLT_COPY           _IOW('@', 4, struct ivtvfb_ioctl_blt_copy_args)
+#define IVTVFB_IOCTL_GET_ACTIVE_BUFFER  _IOR('@', 5, struct ivtv_osd_coords)
+#define IVTVFB_IOCTL_SET_ACTIVE_BUFFER  _IOW('@', 6, struct ivtv_osd_coords)
+#define IVTVFB_IOCTL_GET_FRAME_BUFFER   _IOR('@', 7, struct ivtvfb_ioctl_get_frame_buffer)
 
 #define IVTVFB_STATUS_ENABLED           (1 << 0)
 #define IVTVFB_STATUS_GLOBAL_ALPHA      (1 << 1)


More information about the mythtv-dev mailing list