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

Doug Larrick doug at ties.org
Fri Nov 7 19:03:22 EST 2003


On 11/07/03 18:31:06, Christopher Andersson wrote:
> Hi, I'm having some trouble compiling mythtv 0.12, I'm running debian
> unstable and get the following errors, both with 0.12 relase and cvs.
> 
> g++ -c -pipe -Wall -W -O3 -march=pentiumpro -fomit-frame-pointer
> `freetype-confi               g --cflags` -D_REENTRANT  -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/l               ocal\" -DMMX
> -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -I/usr/share/qt3/mksp
>            ecs/default -I. -I/usr/local/include -I../libmyth -I..
> -I../libavcodec -I../liba               vformat -I../libdvbdev
> -I/usr/include/qt3 -o videoout_ivtv.o videoout_ivtv.cpp
> videoout_ivtv.cpp: In destructor `virtual
> VideoOutputIvtv::~VideoOutputIvtv()':
> videoout_ivtv.cpp:57: error: parse error before `[' token

[snip]

> gcc version 3.3.2 (Debian)
> Qmake version: 1.06c (Qt 3.2.1)
> 
> Any ideas, someone ?

I saw this too.  Since I don't use IVTV, I commented out the offending  
ioctl lines in videoout_ivtv -- hardly a long-term solution.

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:

extern int __invalid_size_argument_for_IOC;
#define _IOC_TYPECHECK(t) ((sizeof(t) == sizeof(t[1]) && sizeof(t) < (1  
<< _IOC_SIZEBITS)) ? sizeof(t) : __invalid_size_argument_for_IOC)
#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK 
(size)))

We get into this from ivtv-ext-api.h, which has:
#define IVTVFB_IOCTL_GET_ACTIVE_BUFFER _IOR('@', 5, sizeof(struct  
ivtv_osd_coords))

so it all expands to:
 if (ioctl(fbfd, (((2U) << (((0 +8)+8)+14)) | ((('@')) << (0 +8)) |  
(((1)) << 0) | (((((sizeof(sizeof(struct ivtvfb_ioctl_state_info)) ==  
sizeof(sizeof(struct ivtvfb_ioctl_state_info)[1]) && sizeof(sizeof 
(struct ivtvfb_ioctl_state_info)) < (1 << 14)) ? sizeof(sizeof(struct  
ivtvfb_ioctl_state_info)) : __invalid_size_argument_for_IOC))) << ((0  
+8)+8))), &fbstate) < 0)

Hope somebody familiar with ivtv's ioctls can sort this out.

-Doug
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20031107/3d37fad9/attachment.pgp


More information about the mythtv-dev mailing list