Re: Trouble building v4l-dvb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On
Linux 2.6.28-19-generic
the problem is tackled already:
DVB_FIREDTV_IEEE1394: Requires at least kernel 2.6.30

On newer linux versions (I have tried Linux 2.6.32-24-generic) the problem is NOT that the modules dma is not present, it is just that the required header files are not present in
/usr/include

Another location mighte have been:
ls -l /usr/src/linux-headers-2.6.28-19-generic/include/config/ieee1394

but that only contains:
-rw-r--r-- 1 root root    0 2010-09-16 18:25 dv1394.h
drwxr-xr-x 3 root root 4096 2010-06-15 20:12 eth1394
-rw-r--r-- 1 root root    0 2010-09-16 18:25 eth1394.h
-rw-r--r-- 1 root root    0 2010-09-16 18:25 ohci1394.h
-rw-r--r-- 1 root root    0 2010-09-16 18:25 pcilynx.h
-rw-r--r-- 1 root root    0 2010-09-16 18:25 rawio.h
-rw-r--r-- 1 root root    0 2010-09-16 18:25 sbp2.h
-rw-r--r-- 1 root root    0 2010-09-16 18:25 video1394.h

Can you indicate where following files  should be located ?
dma.h
csr1212.h
highlevel.h

In that case checking if the dma.h file is present might be the best way forward.

I'll also file an ubuntu bug once I know what is missing where.
I could not find an entry in launchpad on this issue yet.

Mauro Carvalho Chehab wrote:
Em 17-09-2010 08:08, Jan Hoogenraad escreveu:
Thanks !

Indeed, the hack so that
make allyesmod
not select firedtv would be very helpful.

that way, it is also clear that firedtv will not work on debian-like distros.

Is there a way I cen help with that ?
I have no experience with Kconfig, so it would be a learning experience for me.

You don't need to look at Kconfig. there are some scripts under v4l/scripts
that will deal with Kconfig dependencies. They are meant to identify kernel versions
and features. Those scripts are, mainly:

	v4l/scripts/make_config_compat.pl - Checks for "backported" features, enabling workarounds at v4l/compat.h
	v4l/scripts/make_kconfig.pl - Generates a .config file that will compile with an older kernel
	v4l/scripts/make_makefile.pl - Generates a Makefile that will build/install/remove the kernel modules

Basically, you need to add some intelligence to one of the above scripts (likely make_kconfig)
to identify that the kernel has broken firewire headers, and disable its compilation, printing
a warning message to the user.

You'll find a logic at make_makefile.pl to detect an Ubuntu broken kernel that stores the in-kernel
drivers at the wrong install place. I'm not sure if all Ubuntu kernels/versions do the same
thing, nor if this is broken for all distro-variants.

Perhaps you may use this logic at make_kconfig.pl. The logic assumes that broken distros
are the ones that store V4L/DVB files at /lib/modules/\$(KERNELRELEASE)/ubuntu/media.
This is probably not true for all broken distros (as Ubuntu clones - and maybe Debian - could
have the same problem, but storing the media files on a different place), so you may
need to generalize that logic, in order to cover any other distros that don't compile
firewire.

While you're there, the better is to also disable CONFIG_ALSA on Ubuntu, as the drivers
won't work anyway.

As we don't want to have complains from users about "why driver foo is not compiling for me",
IMO, it should be printing a warning message saying that compilation of ALSA/FIREWIRE drivers with
that specific kernel version is not possible, due to the back packaging of kernel headers,
recommending to the user to get a vanilla upstream kernel, if he needs one of the disabled
drivers.

Cheers,
Mauro



--
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux