LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (http://www.linuxquestions.org/questions/programming-9/)
-   -   vloopback module compilation fails (http://www.linuxquestions.org/questions/programming-9/vloopback-module-compilation-fails-734027/)

David the H. 06-18-2009 08:07 PM

vloopback module compilation fails
 
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?

Mara 06-20-2009 05:09 PM

There's no error here (in the command & output). Look if the module isn't already build.

David the H. 06-21-2009 03:49 AM

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


David the H. 06-28-2009 04:17 AM

Bumping the thread. I still haven't found any solution.


If anyone knows how to debug this, I'm all ears. But I'd at least like to know if other people with similar configurations can get it to work or not.

orzem 08-20-2009 03:41 AM

Debian Lenny
Away from system - can't report my exact uname

Same Flash problem, same websearch.
Tried with http://www.swift-tools.net/Flashcam/flashcam-1.3.tgz
Compilation seems to work, but insmod gives an error and does not load the module.

viroos 10-29-2009 08:50 PM

the same problem on Kubuntu 9.10 :(

Code:

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:~$

TIA for help.

regards,
Maciek Sawicki


All times are GMT -5. The time now is 06:38 AM.