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