[mythtv] Another CVS compile error with DVB

Daniel Thor Kristjansson danielk at mrl.nyu.edu
Tue Jan 25 12:04:11 EST 2005


When I enable DVB I get a compile error on mythcdrom-linux.cpp, this is 
because the DVB settings.pro includes files from /usr/src/linux/includes
Including files directly from the kernel in Linux user space programs 
is no longer supported by the kernel developers.

I've attached a patch that copies the three dvb files from the kernel we 
use into myth. These are dvb/dmx.h, dvb/frontend.h, and dvb/version.h, 
these are renamed dvbdmx_myth.h, dvbfrontend_myth.h, dvbversion_myth.h 
and should be put in the libs/libmythtv directory with videodev_myth.h 
and videodev2_myth.h which serve a simlar purpose. The patch itself 
changes the files that include the kernel files to use the myth copies, 
and removes the INCLUDE line from settings.pro that causes the compile 
problem.

The copies of the dvb kernel includes is from 2.6.9, which may be too 
recent, but I'll leave it to the dvb people to amend this patch if it 
needs amending. We need fairly recent kernel for our DVB support, but 
I'm not sure exactly which kernel is the target.

-- Daniel

Below is the compile error I get without the patch, when enabling DVB:

cd libmyth && make -f Makefile
make[2]: Entering directory `/cvs/myth/mythtv-pure/libs/libmyth'
g++ -c -pipe -Wall -W -O3 -march=pentiumpro -fomit-frame-pointer -D_REENTRANT -fPIC  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DMMX -DCONFIG_VIDEO4LINUX -DUSING_IVTV -DUSING_OSS -DUSING_DVB -DUSING_DVB_EIT -DUSE_JOYSTICK_MENU -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. -I/usr/local/include -I/usr/src/linux-2.6.9/include -I../libmythsamplerate -I../libmythsoundtouch -I../.. -I/usr/qt/3/include -o mythcdrom-linux.o mythcdrom-linux.cpp
In file included from /usr/src/linux-2.6.9/include/asm/byteorder.h:57,
                  from /usr/src/linux-2.6.9/include/linux/cdrom.h:14,
                  from mythcdrom-linux.cpp:3:
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:43: error: syntax
    error before `(' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:47: error: parse
    error before `*' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h: In function `
    __u64 __le64_to_cpup(...)':
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:49: error: `p'
    undeclared (first use this function)
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:49: error: (Each
    undeclared identifier is reported only once for each function it appears
    in.)
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h: At global scope:
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:51: error: syntax
    error before `(' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:55: error: parse
    error before `*' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:59: error: syntax
    error before `(' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:63: error: parse
    error before `*' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:67: error: syntax
    error before `(' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:71: error: parse
    error before `*' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:75: error: syntax
    error before `(' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:79: error: parse
    error before `*' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:83: error: syntax
    error before `(' token
/usr/src/linux-2.6.9/include/linux/byteorder/little_endian.h:87: error: parse
    error before `*' token
make[2]: *** [mythcdrom-linux.o] Error 1
make[2]: Leaving directory `/cvs/myth/mythtv-pure/libs/libmyth'
make[1]: *** [sub-libmyth] Error 2
make[1]: Leaving directory `/cvs/myth/mythtv-pure/libs'
make: *** [sub-libs] Error 2
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dvb-local-includes.tbz
Type: application/octet-stream
Size: 4814 bytes
Desc: 
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20050125/b367e5d1/dvb-local-includes.obj


More information about the mythtv-dev mailing list