[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