[pvrusb2] problems compiling the latest snapshot
Mike Isely
isely at isely.net
Fri Jun 26 16:39:21 CDT 2009
Aljaz:
OK, here's what I believe has happened to you...
1. The standalone driver was not enabling DVB support. Stupid mistake,
which I've now fixed in the snapshot I just released.
2. The effect of (1) basically disabled any use of DVB in the
standalone driver. Seems like you tried to work around this, but...
3. The standalone driver build was not including the correct set of
search directories for a few DVB headers, which broke compilation. I
think this is where those errors came from when you first reported the
problem. You tried to fix this by physically copying in various headers
but that is not really a solution and since dealing with dependant
headers can be an organically complex problem, this really isn't a
tenable solution in any case.
4. Meanwhile there was a change in a DVB specific structure introduced
in 2.6.31; the pvrusb2 driver gained a few changes to track this change
but because of (1) above, I never caught the consequent backwards
compatibility issue when I test-compiled old kernels (all the way back
to 2.6.12) before releasing that last snapshot.
5. Then you decided to try a compilation setting V4LDIR, but that really
isn't right either. It configures the build to work against a V4l-DVB
snapshot, but it also has a side effect of turning on DVB support -
which MIGHT have worked, were it not for (4) above - those changes broke
DVB builds for kernels older than 2.6.31. The errors you should below
are an effect from (4).
Issue (4) was brought to my attention a few hours ago, which then caused
me to wonder why I didn't catch it with the older kernel
test-compilations. That caused me to discover issue (1). Then after
fixing issue (1), I got burned by issue (3).
All of this craziness should be fixed now with the snapshot just now
released. Please grab that and try a build. Please ALSO follow what
the pvrusb2 web documentation says here - don't copy any headers into
the driver, make sure you have a kernel tree nearby, etc. You should
get a clean build now.
-Mike
On Mon, 22 Jun 2009, Aljaž Prusnik wrote:
> It's good there are sources... :)
I made a progress in compiling the driver. I had to make a linux folder
under /usr/src and then set V4LDIR=/usr/src. This made compiling go
ahead.
Now I hit some compiling problems I cannot solve (I have not found the
strings like i.e. TDA10048_IF_3300 it looks for neither in driver nor in
kernel sources) I get it they are defined in the v4l-dvb segment:
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver$ make
make INSTALL_MOD_DIR=pvrusb2 -C /lib/modules/2.6.30-custom/build
M=/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver
CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_24XXX=y
CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y CONFIG_VIDEO_ADV_DEBUG=y modules
make[1]: Entering directory
`/share/dmz/software/Linux/kernel/linux-2.6.30'
CC
[M] /share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.o
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:326: error: unknown field ‘dtv6_if_freq_khz’ specified in initializer
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:326: error: ‘TDA10048_IF_3300’ undeclared here (not in a function)
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:326: warning: excess elements in struct initializer
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:326: warning: (near initialization for ‘hauppauge_tda10048_config’)
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:327: error: unknown field ‘dtv7_if_freq_khz’ specified in initializer
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:327: error: ‘TDA10048_IF_3800’ undeclared here (not in a function)
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:327: warning: excess elements in struct initializer
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:327: warning: (near initialization for ‘hauppauge_tda10048_config’)
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:328: error: unknown field ‘dtv8_if_freq_khz’ specified in initializer
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:328: error: ‘TDA10048_IF_4300’ undeclared here (not in a function)
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:328: warning: excess elements in struct initializer
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:328: warning: (near initialization for ‘hauppauge_tda10048_config’)
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:329: error: unknown field ‘clk_freq_khz’ specified in initializer
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:329: error: ‘TDA10048_CLK_16000’ undeclared here (not in a function)
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:329: warning: excess elements in struct initializer
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:329: warning: (near initialization for ‘hauppauge_tda10048_config’)
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:330: error: unknown field ‘disable_gate_access’ specified in initializer
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:330: warning: excess elements in struct initializer
/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.c:330: warning: (near initialization for ‘hauppauge_tda10048_config’)
make[2]: ***
[/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver/pvrusb2-devattr.o] Error 1
make[1]: ***
[_module_/share/dmz/hardware/Hauppauge/pvrusb2-mci-20090616/driver]
Error 2
make[1]: Leaving directory
`/share/dmz/software/Linux/kernel/linux-2.6.30'
make: *** [modules] Error 2
I found those definitions in a merge not long ago in
linux/drivers/media/dvb/frontends/tda10048.h
(http://www.mail-archive.com/linuxtv-commits@linuxtv.org/msg04202.html)
which aren't included in current stable 2.6.30 release.
I should probably take out dvb and compile it?
Aljaz
_______________________________________________
pvrusb2 mailing list
pvrusb2 at isely.net
http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
--
Mike Isely
isely @ isely (dot) net
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
More information about the pvrusb2
mailing list