On Sun, 2009-05-24 at 16:49 +0300, Anssi Hannula wrote:
> Klaus Schmidinger wrote:
> > http://linuxtv.org/hg/v4l-dvb should work, but you'll still
> > need the patch from
> >
> > ftp://ftp.cadsoft.de/vdr/Developer/v4l-dvb-header-fix.diff
> >
> > because the header files apparently are still broken :-(
>
> This commit should've fixed them:
> http://linuxtv.org/hg/v4l-dvb/rev/dba0b6fae413
>
> What error are you getting?
Without that patch I am getting
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR=\"/video\" -DCONFDIR=\"/home/cko/vdrconfig\" -DPLUGINDIR=\"./PLUGINS/lib\" -DLOCDIR=\"./locale\" -I/usr/include/freetype2 -I/usr/src/v4l-dvb/linux/include dvbdevice.c
In file included from dvbdevice.c:13:
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:64:28: error: linux/compiler.h: No such file or directory
In file included from /usr/include/netinet/in.h:24,
from /usr/include/arpa/inet.h:23,
from config.h:13,
from channels.h:13,
from device.h:13,
from dvbdevice.h:15,
from dvbdevice.c:10:
/usr/include/stdint.h:41: error: conflicting declaration 'typedef long int int64_t'
/usr/include/linux/types.h:98: error: 'int64_t' has a previous declaration as 'typedef __s64 int64_t'
/usr/include/stdint.h:56: error: conflicting declaration 'typedef long unsigned int uint64_t'
/usr/include/linux/types.h:96: error: 'uint64_t' has a previous declaration as 'typedef __u64 uint64_t'
In file included from /usr/include/sys/uio.h:24,
from /usr/include/sys/socket.h:28,
from /usr/include/netinet/in.h:25,
from /usr/include/arpa/inet.h:23,
from config.h:13,
from channels.h:13,
from device.h:13,
from dvbdevice.h:15,
from dvbdevice.c:10:
/usr/include/sys/types.h:46: error: conflicting declaration 'typedef __loff_t loff_t'
/usr/include/linux/types.h:30: error: 'loff_t' has a previous declaration as 'typedef __kernel_loff_t loff_t'
/usr/include/sys/types.h:62: error: conflicting declaration 'typedef __dev_t dev_t'
/usr/include/linux/types.h:13: error: 'dev_t' has a previous declaration as 'typedef __kernel_dev_t dev_t'
In file included from /usr/include/sys/types.h:133,
from /usr/include/sys/uio.h:24,
from /usr/include/sys/socket.h:28,
from /usr/include/netinet/in.h:25,
from /usr/include/arpa/inet.h:23,
from config.h:13,
from channels.h:13,
from device.h:13,
from dvbdevice.h:15,
from dvbdevice.c:10:
/usr/include/time.h:105: error: conflicting declaration 'typedef void* timer_t'
/usr/include/linux/types.h:22: error: 'timer_t' has a previous declaration as 'typedef __kernel_timer_t timer_t'
In file included from /usr/include/sys/uio.h:24,
from /usr/include/sys/socket.h:28,
from /usr/include/netinet/in.h:25,
from /usr/include/arpa/inet.h:23,
from config.h:13,
from channels.h:13,
from device.h:13,
from dvbdevice.h:15,
from dvbdevice.c:10:
/usr/include/sys/types.h:204: error: conflicting declaration 'typedef long unsigned int u_int64_t'
/usr/include/linux/types.h:97: error: 'u_int64_t' has a previous declaration as 'typedef __u64 u_int64_t'
In file included from /usr/include/sys/types.h:220,
from /usr/include/sys/uio.h:24,
from /usr/include/sys/socket.h:28,
from /usr/include/netinet/in.h:25,
from /usr/include/arpa/inet.h:23,
from config.h:13,
from channels.h:13,
from device.h:13,
from dvbdevice.h:15,
from dvbdevice.c:10:
/usr/include/sys/select.h:78: error: conflicting declaration 'typedef struct fd_set fd_set'
/usr/include/linux/types.h:12: error: 'fd_set' has a previous declaration as 'typedef struct __kernel_fd_set fd_set'
In file included from /usr/include/sys/uio.h:24,
from /usr/include/sys/socket.h:28,
from /usr/include/netinet/in.h:25,
from /usr/include/arpa/inet.h:23,
from config.h:13,
from channels.h:13,
from device.h:13,
from dvbdevice.h:15,
from dvbdevice.c:10:
/usr/include/sys/types.h:248: error: conflicting declaration 'typedef __blkcnt64_t blkcnt_t'
/usr/include/linux/types.h:124: error: 'blkcnt_t' has a previous declaration as 'typedef long unsigned int blkcnt_t'
In file included from dvbdevice.c:13:
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:562: error: field '__user' has incomplete type
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:562: error: expected ';' before '*' token
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:569: error: expected ';' before '*' token
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:571: error: variable or field '__user' declared void
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:571: error: expected ';' before '*' token
In file included from dvbdevice.c:17:
/usr/src/v4l-dvb/linux/include/linux/dvb/video.h:159: error: expected ';' before '*' token
/usr/src/v4l-dvb/linux/include/linux/dvb/video.h:192: error: expected ';' before '*' token
dvbdevice.c: In member function 'virtual void cDvbDevice::StillPicture(const uchar*, int)':
dvbdevice.c:1298: error: too many initializers for 'video_still_picture'
dvbdevice.c:1298: error: invalid conversion from 'char*' to '__s32'
dvbdevice.c:1304: error: too many initializers for 'video_still_picture'
dvbdevice.c:1304: error: invalid conversion from 'char*' to '__s32'
make: *** [dvbdevice.o] Error 1
With the patch I am getting
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR=\"/video\" -DCONFDIR=\"/home/cko/vdrconfig\" -DPLUGINDIR=\"./PLUGINS/lib\" -DLOCDIR=\"./locale\"-I/usr/include/freetype2 -I/usr/src/v4l-dvb/linux/include audio.c
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR=\"/video\" -DCONFDIR=\"/home/cko/vdrconfig\" -DPLUGINDIR=\"./PLUGINS/lib\" -DLOCDIR=\"./locale\"-I/usr/include/freetype2 -I/usr/src/v4l-dvb/linux/include channels.c
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DVIDEODIR=\"/video\" -DCONFDIR=\"/home/cko/vdrconfig\" -DPLUGINDIR=\"./PLUGINS/lib\" -DLOCDIR=\"./locale\"-I/usr/include/freetype2 -I/usr/src/v4l-dvb/linux/include dvbdevice.c
In file included from dvbdevice.c:13:
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:64:28: error: linux/compiler.h: No such file or directory
In file included from dvbdevice.c:13:
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:562: error: field '__user' has incomplete type
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:562: error: expected ';' before '*' token
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:569: error: expected ';' before '*' token
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:571: error: variable or field '__user' declared void
/usr/src/v4l-dvb/linux/include/linux/videodev2.h:571: error: expected ';' before '*' token
In file included from dvbdevice.c:17:
/usr/src/v4l-dvb/linux/include/linux/dvb/video.h:162: error: expected ';' before '*' token
/usr/src/v4l-dvb/linux/include/linux/dvb/video.h:195: error: expected ';' before '*' token
dvbdevice.c: In member function 'virtual void cDvbDevice::StillPicture(const uchar*, int)':
dvbdevice.c:1298: error: too many initializers for 'video_still_picture'
dvbdevice.c:1298: error: invalid conversion from 'char*' to 'int32_t'
dvbdevice.c:1304: error: too many initializers for 'video_still_picture'
dvbdevice.c:1304: error: invalid conversion from 'char*' to 'int32_t'
make: *** [dvbdevice.o] Error 1
Carsten.