
First, harking back to your OP, whose introductory scene-setting I didn't read closely enough last night before jumping to the make errors: On 08.05.14 20:49, Robert Brown wrote:
The DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0-master folder contains source files for a module I need rtl2832.ko and some other related ones.
I need to compile it for a 3.4 kernel on a sun4i armv7 platform so I get the kernel source from github sunxi.
Is there a "did" missing between "I" and "get"? Since later posts show that no dvb-usb.h exists for kernel 3.4, you still need kernel 3.4 headers, AFAICT. Have you looked for a separate headers source package? That's how native headers are provided, so it would be unsurprising for that ARM kernel to be similarly packaged. (See also end of this post) On 09.05.14 08:05, Robert Brown wrote:
I only have this like CFLAGS in the Makefile: EXTRA_CFLAGS += -I$(KBUILD_SRC)/drivers/media/dvb/dvb-usb/ \ -I$(KBUILD_SRC)/drivers/media/dvb/dvb-core/ \ -I$(KBUILD_SRC)/drivers/media/dvb/frontends/ \ -I$(KBUILD_SRC)/drivers/media/common/tuners/ \ -I$(SOURCEDIR)/$(INCLUDE_EXTRA_DVB) Should I tack a -v on the end of this?
That would do, or since it's only temporary, for debugging, it would be easier and more visible if just tacked onto the "GCC =" definition. The effect is the same. (It is stuffed somewhere in the gcc invocation, as a command-line option.) That is to find the include path actually used at compile time, and here you've serendipitously provided an explicitly specified include path for dvb-usb headers. There's no guarantee that that's the only (or first) place it'll look, but you could already check what $(KBUILD_SRC) is set to, and check whether $(KBUILD_SRC)/drivers/media/dvb/dvb-usb/ exists. Once you set include-340, that would appear to point to stuff you don't have, or is my visualisation of what I can't see from here inaccurate?
BTW uname -ra shows Linux debian 3.4.67-sun4i+ #10 PREEMPT Sun Nov 24 17:13:58 EST 2013 armv7l GNU/Linux which is why I was looking for a directory include-340
OK, that's on the target, not the build machine, right? ('cos if that's the build machine, then a native compile would do, and life would be much simpler. Just checkin') When you run: $ locate dvb-usb.h on the target, does it show anything? (Or "find" if the target lacks "locate".) If so, you have a copy of the required header, just not where you need it. (I won't ask whether that kernel 3.0 stuff can build with kernel 3.4 headers, after all, it just might. You don't know till you try.) Happy header hunting. Erik -- Animals can be driven crazy by putting too many in too small a pen. Homo sapiens is the only animal that voluntarily does this to himself. - Lazarus Long