There is now a bugzilla entry at Gentoo for this particular error.
http://bugs.gentoo.org/show_bug.cgi?id=230089
A transcript is below. It shows that merely emerging linux-headers and
gentoo-sources is not enough to get the missing ivtv.h. I am using
kernel 2.6.24 and ivtv 1.1.0.
ivtv.h IS included and installed by the gentoo-sources package. I have
checked this several times.
However, the gentoo-sources package installs all of its files files in
/usr/src/linux-{version}, whereas the problematic "#include
<linux/ivtv.h>" line requires /usr/include/linux/ivtv.h. The files
that live in /usr/include are installed by the linux-headers package,
NOT the kernel sources.
I see that i2c-drivers/Makefile uses the line "KDIR ?=
/lib/modules/$(KVER)/build" to reference(?) the headers from the
gentoo-sources package whereas utils/Makefile does not.
So there's two^wthree^wfour possible bugs, either
(1) the bug is in the current linux-header package. It is not
including and installing ivtv.h as it should. Or
(2) utils/Makefile should use KDIR and this will #include the headers
from the installed sources package instead of from /usr/include
(3) it's been too long since I gave up CompSci for CivilEng and I
really dont know what I'm doing.
Or
(4) ivtv.h is actually included with the ivtv-1.1.0 sourcecode, and
changing <linux/ivtv.h> to "linux/ivtv.h" fixes things.
----------- BEGIN TRANSCRIPT
zlab ivtv # uname -a
Linux zlab 2.6.24-gentoo-r8 #2 SMP Wed Jun 25 22:44:52 PDT 2008 i686
Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
zlab ~ #
zlab ~ # USE=symlink emerge gentoo-sources -q
>>> Verifying ebuild Manifests...
>>> Emerging (1 of 1) sys-kernel/gentoo-sources-2.6.24-r8 to /
>>> Preparing to unpack ...
* Applying (a bunch of patches)
>>> Copying sources ...
* If you are upgrading from a previous kernel, you may be interested
* in the following document:
* - General upgrade guide: http://www.gentoo.org/doc/en/kernel-upgrade.xml
* For more info on this patchset, and how to report problems, see:
* http://dev.gentoo.org/~dsd/genpatches
* Messages for package sys-kernel/gentoo-sources-2.6.24-r8:
* If you are upgrading from a previous kernel, you may be interested
* in the following document:
* - General upgrade guide: http://www.gentoo.org/doc/en/kernel-upgrade.xml
zlab ~ #
zlab ~ # find /usr/src -name ivtv.h
/usr/src/linux-2.6.22-gentoo-r9/include/config/video/ivtv.h
/usr/src/linux-2.6.23-gentoo-r3/include/config/video/ivtv.h
/usr/src/linux-2.6.23-gentoo-r3/include/media/ivtv.h
/usr/src/linux-2.6.24-gentoo-r8/include/config/video/ivtv.h
/usr/src/linux-2.6.24-gentoo-r8/include/linux/ivtv.h
/usr/src/linux-2.6.25-gentoo-r5/include/config/video/ivtv.h
/usr/src/linux-2.6.25-gentoo-r5/include/linux/ivtv.h
zlab ~ #
zlab ~ # ACCEPT_KEYWORDS="~x86" emerge =linux-headers-2.6.24* -q
>>> Verifying ebuild Manifests...
>>> Emerging (1 of 1) sys-kernel/linux-headers-2.6.24 to /
* Applying various patches (bugfixes/updates) ...
* 03_all_linux-export-aligned-64bits.patch ... [ ok ]
* 05_all_no-glibc-ifdefs.patch ... [ ok ]
* 07_all_pull-libc-headers-asm.patch ... [ ok ]
* 07_all_pull-libc-headers-linux.patch ... [ ok ]
* 09_all_include-other-linux-headers.patch ... [ ok ]
* 10_all_remove-page-user-headers.patch ... [ ok ]
* 35_all_c99-types.patch ... [ ok ]
* Done with patching
(omiting long list of files installed. ivtv.h is NOT installed)
* Messages for package sys-kernel/linux-headers-2.6.24:
* Kernel headers are usually only used when recompiling your system libc, as
* such, following the installation of newer headers, it is advised that you
* re-merge your system libc.
* Failure to do so will cause your system libc to not make use of newer
* features present in the updated kernel headers.
zlab ~ # find /usr/include -name ivtv.h
zlab ~ #
zlab ~ # equery b ivtv.h
[ Searching for file(s) ivtv.h in *... ]
sys-kernel/gentoo-sources-2.6.23-r3
(/usr/src/linux-2.6.23-gentoo-r3/include/media/ivtv.h)
sys-kernel/gentoo-sources-2.6.24-r8
(/usr/src/linux-2.6.24-gentoo-r8/include/linux/ivtv.h)
sys-kernel/gentoo-sources-2.6.25-r5
(/usr/src/linux-2.6.25-gentoo-r5/include/linux/ivtv.h)
zlab ~ #
zlab ~ # cd ivtv
zlab ivtv # cd ivtv-1.1.0
zlab ivtv-1.1.0 # uname -a
Linux zlab 2.6.24-gentoo-r8 #2 SMP Wed Jun 25 22:44:52 PDT 2008 i686
Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
zlab ivtv-1.1.0 # make
make -C i2c-drivers all
make[1]: Entering directory `/root/ivtv/ivtv-1.1.0/i2c-drivers'
make -C /lib/modules/2.6.24-gentoo-r8/build
M=/root/ivtv/ivtv-1.1.0/i2c-drivers modules
make[2]: Entering directory `/usr/src/linux-2.6.24-gentoo-r8'
CC [M] /root/ivtv/ivtv-1.1.0/i2c-drivers/saa717x.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/ivtv/ivtv-1.1.0/i2c-drivers/saa717x.mod.o
LD [M] /root/ivtv/ivtv-1.1.0/i2c-drivers/saa717x.ko
make[2]: Leaving directory `/usr/src/linux-2.6.24-gentoo-r8'
make[1]: Leaving directory `/root/ivtv/ivtv-1.1.0/i2c-drivers'
make -C utils all
make[1]: Entering directory `/root/ivtv/ivtv-1.1.0/utils'
cc -D_GNU_SOURCE -O2 -Wall -g -c -o ivtvctl.o ivtvctl.c
ivtvctl.c:66:24: error: linux/ivtv.h: No such file or directory
ivtvctl.c: In function 'main':
ivtvctl.c:608: error: storage size of 'frame' isn't known
ivtvctl.c:620: error: 'IVTV_IOC_DMA_FRAME' undeclared (first use in
this function)
ivtvctl.c:620: error: (Each undeclared identifier is reported only once
ivtvctl.c:620: error: for each function it appears in.)
ivtvctl.c:608: warning: unused variable 'frame'
ivtvctl.c:632: error: storage size of 'frame' isn't known
ivtvctl.c:632: warning: unused variable 'frame'
make[1]: *** [ivtvctl.o] Error 1
make[1]: Leaving directory `/root/ivtv/ivtv-1.1.0/utils'
make: *** [all] Error 2
zlab ivtv-1.1.0 #
zlab ivtv-1.1.0 # find /usr -name ivtv.h
/usr/src/linux-2.6.22-gentoo-r9/include/config/video/ivtv.h
/usr/src/linux-2.6.23-gentoo-r3/include/config/video/ivtv.h
/usr/src/linux-2.6.23-gentoo-r3/include/media/ivtv.h
/usr/src/linux-2.6.24-gentoo-r8/include/config/video/ivtv.h
/usr/src/linux-2.6.24-gentoo-r8/include/linux/ivtv.h
/usr/src/linux-2.6.25-gentoo-r5/include/config/video/ivtv.h
/usr/src/linux-2.6.25-gentoo-r5/include/linux/ivtv.h
zlab ivtv-1.1.0 #
zlab ivtv-1.1.0 # cd /usr/include/linux
zlab linux # ln -s /usr/src/linux/include/linux/ivtv.h
zlab linux # cd ~/ivtv/ivtv-1.1.0
zlab ivtv-1.1.0 # make
make -C i2c-drivers all
make[1]: Entering directory `/root/ivtv/ivtv-1.1.0/i2c-drivers'
make -C /lib/modules/2.6.24-gentoo-r8/build
M=/root/ivtv/ivtv-1.1.0/i2c-drivers modules
make[2]: Entering directory `/usr/src/linux-2.6.24-gentoo-r8'
Building modules, stage 2.
MODPOST 1 modules
make[2]: Leaving directory `/usr/src/linux-2.6.24-gentoo-r8'
make[1]: Leaving directory `/root/ivtv/ivtv-1.1.0/i2c-drivers'
make -C utils all
make[1]: Entering directory `/root/ivtv/ivtv-1.1.0/utils'
cc -D_GNU_SOURCE -O2 -Wall -g -c -o ivtvctl.o ivtvctl.c
cc -lm -o ivtvctl ivtvctl.o
cc -D_GNU_SOURCE -O2 -Wall -g ivtv-radio.c -o ivtv-radio
g++ -D_GNU_SOURCE -O2 -Wall -g ps-analyzer.cpp -o ps-analyzer
g++ -D_GNU_SOURCE -O2 -Wall -g -lm -lpthread -o ivtvplay ivtvplay.cc
cc -D_GNU_SOURCE -O2 -Wall -g ivtv-mpegindex.c -o ivtv-mpegindex
make CFLAGS="-D_GNU_SOURCE -O2 -Wall -g" -C ivtv-tune
make[2]: Entering directory `/root/ivtv/ivtv-1.1.0/utils/ivtv-tune'
cc -D_GNU_SOURCE -O2 -Wall -g -c -o ivtv-tune.o ivtv-tune.c
cc -D_GNU_SOURCE -O2 -Wall -g -c -o frequencies.o frequencies.c
cc -D_GNU_SOURCE -O2 -Wall -g -c -o xawtv_parseconfig.o xawtv_parseconfig.c
cc -D_GNU_SOURCE -O2 -Wall -g -c -o cmdline.o cmdline.c
cc ivtv-tune.o frequencies.o xawtv_parseconfig.o cmdline.o -o ivtv-tune
make[2]: Leaving directory `/root/ivtv/ivtv-1.1.0/utils/ivtv-tune'
make CFLAGS="-D_GNU_SOURCE -O2 -Wall -g" -C cx25840ctl
make[2]: Entering directory `/root/ivtv/ivtv-1.1.0/utils/cx25840ctl'
cc -D_GNU_SOURCE -O2 -Wall -g -c -o cx25840ctl.o cx25840ctl.c
cc -D_GNU_SOURCE -O2 -Wall -g -c -o cx25840-registers.o cx25840-registers.c
cc -D_GNU_SOURCE -O2 -Wall -g -c -o cmdline.o cmdline.c
cc cx25840ctl.o cx25840-registers.o cmdline.o -o cx25840ctl
make[2]: Leaving directory `/root/ivtv/ivtv-1.1.0/utils/cx25840ctl'
make[1]: Leaving directory `/root/ivtv/ivtv-1.1.0/utils'
make -C test all
make[1]: Entering directory `/root/ivtv/ivtv-1.1.0/test'
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm vbi.c -o vbi
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm wss.c -o wss
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm
vbi-passthrough.c -o vbi-passthrough
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm vbi-detect.c
-o vbi-detect
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm
ivtv-pcm-tester.c -o ivtv-pcm-tester
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm
mpeg-read-test.c -o mpeg-read-test
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm
mpeg-freq-test.c -o mpeg-freq-test
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm
mpeg-read-sleep-test.c -o mpeg-read-sleep-test
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm
mpeg-enc-stop-start-test.c -o mpeg-enc-stop-start-test
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm
ivtv-yuv-dma-test.c -o ivtv-yuv-dma-test
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm
ivtv-osd-dma-test.c -o ivtv-osd-dma-test
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm
ivtv-fb-colormap-test.c -o ivtv-fb-colormap-test
cc -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall -lm
ivtv-fb-16-bit-test.c -o ivtv-fb-16-bit-test
make[1]: Leaving directory `/root/ivtv/ivtv-1.1.0/test'
zlab ivtv-1.1.0 #
zlab ivtv-1.1.0 # ls -l /usr/src
total 51
drwxr-xr-x 2 root root 4 Jun 28 14:19 ATI
-rw-r--r-- 1 root root 36960 Jul 2 21:51 config
lrwxrwxrwx 1 root root 22 Jul 2 22:35 linux -> linux-2.6.24-gentoo-r8
drwxr-xr-x 20 root root 39 Jun 22 16:42 linux-2.6.22-gentoo-r9
drwxr-xr-x 20 root root 51 Jan 19 16:11 linux-2.6.23-gentoo-r3
drwxr-xr-x 21 root root 51 Jul 2 22:29 linux-2.6.24-gentoo-r8
drwxr-xr-x 22 root root 53 Jun 23 20:48 linux-2.6.25-gentoo-r5
zlab ivtv-1.1.0 #
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users