ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
It seems that flash 10 doesn't want to read from my new webcam (v4l2), so I'm trying to find a workaround for it. I've discovered two projects that might help, flashcam, and webcamstudio. Both of them work by using vloopback to create a virtual video device. I'm hoping to use them to create a v4l1 device that flash will be able to read.
The problem is that the vloopback module is failing to compile for my 2.6.29 kernel. Apparently the original vloopback source is rather old, so they're using a modified version that's supposed to compile on newer kernels, but it's not working here.
Unfortunately it's also giving me absolutely no useful output either. It's simply failing to produce the module. The entire output looks like this:
Code:
root:[/usr/src/webcamstudio-vloopback-src]## make
make -C /lib/modules/2.6.29-2-686/source SUBDIRS=/usr/src/webcamstudio-vloopback-src modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.29-2-common'
Building modules, stage 2.
MODPOST 0 modules
make[1]: Leaving directory `/usr/src/linux-headers-2.6.29-2-common'
root:[/usr/src/webcamstudio-vloopback-src]##
All the kernel header files are installed.
The source is available here. Versions from 1.1.3 up are supposed to be usable with new kernels. I've tried them all and they all fail.
I'm not a programmer, so I'm at the end of what I can do alone. Does anyone have any ideas how to get this working?
I have. I wouldn't have posted otherwise. There is no module anywhere to be found. At the very least it should have placed the completed vloopback.ko file in the working directory, but there's nothing. The output I posted is what I get when I try to build it manually, but I've also tried it with the scripts provided by the two projects, and both of them announce failures, because in the end there's no module for them to install.
After posting this I also found that Debian provides an old version (1.1.1) that's supposed to build with module-assistant. But as expected, it fails also. Not that it would do me much good anyway, because the cam projects require a newer modified version.
I'm completely at a loss here. It's not a big compile, being just one .c file and a makefile. But this is way beyond my ability to debug.
And it's rather important that I get this working. The primary reason I bought the cam is because someone I know has asked me if I could provide her with online video lessons.
Oh, and since I failed to post it before, here's the exact kernel version I'm using. It's the stock Debian kernel.
Code:
david:[~]$ uname -srvm
Linux 2.6.29-2-686 #1 SMP Sun May 17 17:56:29 UTC 2009 i686
Last edited by David the H.; 06-21-2009 at 03:54 AM..
BUILD FAILED!
tput: unknown terminal "terminator"
See /var/cache/modass/vloopback-source.buildlog.2.6.31-14-generic.1256863581 for details.
Build failed. Press Return to continue...
Code:
</vloopback-source.buildlog.2.6.31-14-generic.1256863
vloopback-source.buildlog.2.6.31-14-generic.1256863114
vloopback-source.buildlog.2.6.31-14-generic.1256863581
<vloopback-source.buildlog.2.6.31-14-generic.1256863581
dh_testdir
dh_testroot
dh_clean
/usr/bin/make -C /usr/src/modules/vloopback clean \
KERNELPATH=/usr/src/linux-headers-2.6.31-14-generic KERNELRELEASE=2.6.31-14-generic KERNELCONF=/usr/src/linux-headers-2.6.31-14-generic/.config
make[1]: Wejście do katalogu `/usr/src/modules/vloopback'
rm -f *.o *.ko .*.cmd .*.flags *.mod.c Module.symvers version.h modules.order
rm -rf .tmp_versions
make[1]: Opuszczenie katalogu `/usr/src/modules/vloopback'
/usr/bin/make -f debian/rules kdist_clean kdist_config binary-modules
make[1]: Wejście do katalogu `/usr/src/modules/vloopback'
dh_testdir
dh_testroot
dh_clean
/usr/bin/make -C /usr/src/modules/vloopback clean \
KERNELPATH=/usr/src/linux-headers-2.6.31-14-generic KERNELRELEASE=2.6.31-14-generic KERNELCONF=/usr/src/linux-headers-2.6.31-14-generic/.config
make[2]: Wejście do katalogu `/usr/src/modules/vloopback'
rm -f *.o *.ko .*.cmd .*.flags *.mod.c Module.symvers version.h modules.order
rm -rf .tmp_versions
make[2]: Opuszczenie katalogu `/usr/src/modules/vloopback'
for templ in ; do \
cp $templ `echo $templ | sed -e 's/_KVERS_/2.6.31-14-generic/g'` ; \
done
for templ in `ls debian/*.modules.in` ; do \
test -e ${templ%.modules.in}.backup || cp ${templ%.modules.in} ${templ%.modules.in}.backup 2>/dev/null || true; \
sed -e 's/##KVERS##/2.6.31-14-generic/g ;s/#KVERS#/2.6.31-14-generic/g ; s/_KVERS_/2.6.31-14-generic/g ; s/##KDREV##/2.6.31-14.48/g ; s/#KDREV#/2.6.31-14.48/g ; s/_KDREV_/2.6.31-14.48/g ' < $templ > ${templ%.modules.in}; \
done
dh_testdir
dh_testroot
dh_clean -k
# Build modules
/usr/bin/make -C /usr/src/modules/vloopback vloopback \
KERNEL_DIR=/usr/src/linux-headers-2.6.31-14-generic KERNEL_VERSION=2.6.31-14-generic KERNELCONF=/usr/src/linux-headers-2.6.31-14-generic/.config
make[2]: Wejście do katalogu `/usr/src/modules/vloopback'
Building vloopback driver...
make[3]: Wejście do katalogu `/usr/src/linux-headers-2.6.31-14-generic'
CC [M] /usr/src/modules/vloopback/vloopback.o
/usr/src/modules/vloopback/vloopback.c: In function ‘fake_ioctl’:
/usr/src/modules/vloopback/vloopback.c:310: error: implicit declaration of function ‘kill_proc’
/usr/src/modules/vloopback/vloopback.c: In function ‘vloopback_open’:
/usr/src/modules/vloopback/vloopback.c:329: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c: In function ‘vloopback_release’:
/usr/src/modules/vloopback/vloopback.c:370: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c: In function ‘vloopback_write’:
/usr/src/modules/vloopback/vloopback.c:413: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c: In function ‘vloopback_read’:
/usr/src/modules/vloopback/vloopback.c:459: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c: In function ‘vloopback_mmap’:
/usr/src/modules/vloopback/vloopback.c:528: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c: In function ‘vloopback_ioctl’:
/usr/src/modules/vloopback/vloopback.c:586: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c: In function ‘vloopback_poll’:
/usr/src/modules/vloopback/vloopback.c:919: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c: At top level:
/usr/src/modules/vloopback/vloopback.c:951: error: unknown field ‘owner’ specified in initializer
/usr/src/modules/vloopback/vloopback.c:951: warning: initialization from incompatible pointer type
/usr/src/modules/vloopback/vloopback.c:953: error: unknown field ‘type’ specified in initializer
/usr/src/modules/vloopback/vloopback.c:954: warning: initialization from incompatible pointer type
/usr/src/modules/vloopback/vloopback.c: In function ‘create_pipe’:
/usr/src/modules/vloopback/vloopback.c:980: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:982: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:989: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:994: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:996: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:997: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:1003: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:1004: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:1017: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:1018: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:1019: error: ‘struct video_device’ has no member named ‘type’
/usr/src/modules/vloopback/vloopback.c:1021: error: ‘struct video_device’ has no member named ‘type’
/usr/src/modules/vloopback/vloopback.c:1030: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:1032: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:1043: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:1045: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c: In function ‘cleanup_vloopback_module’:
/usr/src/modules/vloopback/vloopback.c:1127: error: ‘struct video_device’ has no member named ‘priv’
/usr/src/modules/vloopback/vloopback.c:1129: error: ‘struct video_device’ has no member named ‘priv’
make[4]: *** [/usr/src/modules/vloopback/vloopback.o] Błąd 1
make[3]: *** [_module_/usr/src/modules/vloopback] Błąd 2
make[3]: Opuszczenie katalogu `/usr/src/linux-headers-2.6.31-14-generic'
make[2]: *** [vloopback] Błąd 2
make[2]: Opuszczenie katalogu `/usr/src/modules/vloopback'
make[1]: *** [binary-modules] Błąd 2
make[1]: Opuszczenie katalogu `/usr/src/modules/vloopback'
make: *** [kdist_build] Błąd 2
Code:
viroos@plecak-transmisyjny:~$ uname -a
Linux plecak-transmisyjny 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686 GNU/Linux
viroos@plecak-transmisyjny:~$
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.