bluecherrydvr/solo6x10 — Issue #37: unable to build solo6x10 driver against Linux 3.1.10
Author: salfter
Created: 2012-01-26 03:04:01+00:00
State: open

(copied from http://support.bluecherrydvr.com/entries/20892881-unable-to-build-solo6x10-driver-against-linux-3-1-10)

I have a new Gentoo AMD64 box on which I'd like to get the 16-port capture card working. It's running sys-kernel/gentoo-sources-3.1.10-r1, with CONFIG_VIDEO_V4L2 and CONFIG_VIDEO_V4L2_COMMON set to build as modules. I've pulled the driver source from the Git repo. make builds the first few files, but then stops on videobuf-dma-contig.c. I've attached the output from make. I have a client with a medium-scale (about 130-140 cameras) installation built on an MPEG-2 capture card from a company that's no longer in business; I'm looking to build a replacement for them around the Bluecherry H.264 capture card, but I need to get the card working first.

As a temporary measure, I could bring the system up with an older kernel (Portage offers gentoo-sources builds based on 2.6.32, 2.6.39, and 3.0.17) if that'll be more likely to build, but support for the newer kernels would be a plus.

Here is the build output:

```make -C /lib/modules/3.1.10-gentoo-r1/build M=/root/solo6x10 modules
make[1]: Entering directory `/usr/src/linux-3.1.10-gentoo-r1'
CC [M] /root/solo6x10/solo6010-core.o
CC [M] /root/solo6x10/solo6010-i2c.o
CC [M] /root/solo6x10/solo6010-p2m.o
CC [M] /root/solo6x10/solo6010-v4l2.o
CC [M] /root/solo6x10/solo6010-tw28.o
CC [M] /root/solo6x10/solo6010-gpio.o
CC [M] /root/solo6x10/solo6010-disp.o
CC [M] /root/solo6x10/solo6010-enc.o
CC [M] /root/solo6x10/solo6010-v4l2-enc.o
CC [M] /root/solo6x10/solo6010-g723.o
CC [M] /root/solo6x10/solo6010-eeprom.o
CC [M] /root/solo6x10/videobuf-dma-contig.o
/root/solo6x10/videobuf-dma-contig.c: In function '__videobuf_alloc':
/root/solo6x10/videobuf-dma-contig.c:195:2: error: implicit declaration of function 'kzalloc'
/root/solo6x10/videobuf-dma-contig.c:195:5: warning: assignment makes pointer from integer without a cast
/root/solo6x10/videobuf-dma-contig.c: In function '__videobuf_mmap_mapper':
/root/solo6x10/videobuf-dma-contig.c:306:6: warning: assignment makes pointer from integer without a cast
/root/solo6x10/videobuf-dma-contig.c:311:5: error: 'struct videobuf_mapping' has no member named 'start'
/root/solo6x10/videobuf-dma-contig.c:312:5: error: 'struct videobuf_mapping' has no member named 'end'
/root/solo6x10/videobuf-dma-contig.c: At top level:
/root/solo6x10/videobuf-dma-contig.c:421:2: error: unknown field 'alloc' specified in initializer
/root/solo6x10/videobuf-dma-contig.c:421:2: warning: initialization from incompatible pointer type
/root/solo6x10/videobuf-dma-contig.c:423:2: error: unknown field 'mmap_free' specified in initializer
/root/solo6x10/videobuf-dma-contig.c:423:2: warning: initialization from incompatible pointer type
/root/solo6x10/videobuf-dma-contig.c:424:2: warning: initialization from incompatible pointer type
/root/solo6x10/videobuf-dma-contig.c:425:2: error: unknown field 'video_copy_to_user' specified in initializer
/root/solo6x10/videobuf-dma-contig.c:425:2: warning: excess elements in struct initializer
/root/solo6x10/videobuf-dma-contig.c:425:2: warning: (near initialization for 'qops')
/root/solo6x10/videobuf-dma-contig.c:426:2: error: unknown field 'copy_stream' specified in initializer
/root/solo6x10/videobuf-dma-contig.c:426:2: warning: excess elements in struct initializer
/root/solo6x10/videobuf-dma-contig.c:426:2: warning: (near initialization for 'qops')
/root/solo6x10/videobuf-dma-contig.c:427:2: error: unknown field 'vmalloc' specified in initializer
/root/solo6x10/videobuf-dma-contig.c:427:2: warning: excess elements in struct initializer
/root/solo6x10/videobuf-dma-contig.c:427:2: warning: (near initialization for 'qops')
/root/solo6x10/videobuf-dma-contig.c:430:6: error: conflicting types for 'videobuf_queue_dma_contig_init'
include/media/videobuf-dma-contig.h:19:6: note: previous declaration of 'videobuf_queue_dma_contig_init' was here
/root/solo6x10/videobuf-dma-contig.c: In function 'videobuf_queue_dma_contig_init':
/root/solo6x10/videobuf-dma-contig.c:440:6: error: too few arguments to function 'videobuf_queue_core_init'
include/media/videobuf-core.h:190:6: note: declared here
make[2]: *** [/root/solo6x10/videobuf-dma-contig.o] Error 1
make[1]: *** [_module_/root/solo6x10] Error 2
make[1]: Leaving directory `/usr/src/linux-3.1.10-gentoo-r1'
make: *** [all] Error 2```