On wo, 2008-07-02 at 23:28 -0700, Dylan wrote:
> There is now a bugzilla entry at Gentoo for this particular error.
> 
> http://bugs.gentoo.org/show_bug.cgi?id=230089
>
> ivtv.h IS included and installed by the gentoo-sources package. I have
> checked this several times.

I just checked this in more detail and ivtv is not looking
in /usr/src/linux but in /usr/include/linux (as it should). However it
should be looking in ivtv-1.1.0/utils/linux instead. I am assuming this
is because the official kernel headers do not install ivtv*.h (yet?).

> 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.

And linux-headers do not install ivtv.h and AFAIK this should be for all
distro's.

> 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.

This is only needed to build out of tree kernel modules not userspace
apps.

> 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

AFAIK this is decided by the upstream kernel maintainers not Gentoo.

> (2) utils/Makefile should use KDIR and this will #include the headers
> from the installed sources package instead of from /usr/include

Not a problem, see above.

> (4) ivtv.h is actually included with the ivtv-1.1.0 sourcecode, and
> changing <linux/ivtv.h> to "linux/ivtv.h" fixes things.

This to me sounds like the real problem and is fixing the compilation
problem.

Hans, Can you have a look at attached patch and confirm this it correct?

Greets
Sander

PS for gentoo users/devs: I have a stale ivtv.h in /usr/include/linux
from what I assume and older install of ivtv. I suspect the gentoo tv
herd also have this stale file and not noticed this yet.

infirit utils # equery b /usr/include/linux/ivtv.h 
[ Searching for file(s) /usr/include/linux/ivtv.h in *... ]

Gives no package.... :(
diff -ur ivtv-1.1.0/utils/ivtv-radio.c ivtv-1.1.0.new/utils/ivtv-radio.c
--- ivtv-1.1.0/utils/ivtv-radio.c	2008-05-24 14:21:16.000000000 +0200
+++ ivtv-1.1.0.new/utils/ivtv-radio.c	2008-07-03 15:41:14.000000000 +0200
@@ -39,7 +39,7 @@
 
 #include <linux/videodev2.h>
 #include <linux/dvb/video.h>
-#include <linux/ivtv.h>
+#include "linux/ivtv.h"
 
 #define RADIO_DEV "/dev/radio0"
 #define AUDIO_IN_DEV "/dev/video24"
Only in ivtv-1.1.0.new/utils: ivtv-svnversion.h
Only in ivtv-1.1.0.new/utils: ivtv-svnversion.h.tmp
diff -ur ivtv-1.1.0/utils/ivtvctl.c ivtv-1.1.0.new/utils/ivtvctl.c
--- ivtv-1.1.0/utils/ivtvctl.c	2008-05-24 14:21:16.000000000 +0200
+++ ivtv-1.1.0.new/utils/ivtvctl.c	2008-07-03 15:41:28.000000000 +0200
@@ -63,7 +63,7 @@
 
 #define VIDIOC_INT_RESET            	_IOW ('d', 102, __u32)
 
-#include <linux/ivtv.h>
+#include "linux/ivtv.h"
 
 #define __stringify_1(x)	#x
 #define __stringify(x)		__stringify_1(x)
diff -ur ivtv-1.1.0/utils/ivtvplay.cc ivtv-1.1.0.new/utils/ivtvplay.cc
--- ivtv-1.1.0/utils/ivtvplay.cc	2008-05-24 14:21:16.000000000 +0200
+++ ivtv-1.1.0.new/utils/ivtvplay.cc	2008-07-03 15:41:58.000000000 +0200
@@ -41,7 +41,7 @@
 #include <linux/types.h>
 #include <linux/videodev2.h>
 #include <linux/dvb/video.h>
-#include <linux/ivtv.h>
+#include "linux/ivtv.h"
 
 typedef unsigned long W32;
 typedef unsigned long long W64;
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to