LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Installing Logitech Quickcam Messenger - what to do with kernel and symbolic link (https://www.linuxquestions.org/questions/linux-newbie-8/installing-logitech-quickcam-messenger-what-to-do-with-kernel-and-symbolic-link-270969/)

Ranura 12-27-2004 08:42 PM

Installing Logitech Quickcam Messenger - what to do with kernel and symbolic link
 
Hi,

I installed Ubuntu 4.10 Warty Warthog a few days ago. I managed to install the Java Runtime Environment plug-in for Firefox by following instructions I found in various places. I'm not having the same success with my Logitech Quickcam Messenger. I've tried to follow the instructions at qce-ga.sourceforge.net which say that the following requirements must be met:

Quote:

* kernel >= 2.2.18, kernel 2.4.x, or kernel 2.6.x with USB and V4L support
* Kernel source for the same kernel. The symbolic link /lib/modules/`uname -r`/build should point to the source directory.
* A working installation of gcc >= 2.95
The kernel included in Unbuntu is 2.6.8.1-3-386. USB support is included because I got my USB Canon i455 to work with one of the drivers provided with Ubuntu (although the size of what's printed is much smaller than it should be). V4L support is also there, as I discovered by following the Gnome Meeting wizard (which didn't detect my cam). So my system meets the first requirement.

I used 'apt-get install gcc' to install what I believe is a C/C++ compiler. The command reported that gcc 3.3 had been installed. So that's the third requirement met.

What I don't understand is how to meet the second requirement - even though I have already had the experience of creating a symbolic link when I installed the Java Runtime Environment. I don't understand the concept behind it and I haven't been able to work it out through googling...

My questions are:

If I need to create a copy of the linux kernel in /usr/src, why can't I just go to the folder where the kernel is stored on the system, and copy it to /usr/src? Why should I need to download the kernel source if it already exists on my system?

What is the idea behind creating a symbolic link? In the second bullet point above, it says that the "symbolic link /lib/modules/`uname -r`/build should point to the source directory". On my system, I understand this means that /lib/modules/2.6.8.1-3-386 should point to the source directory where the source code for the kernel is stored - but where is this? Is it the kernel source code that you're supposed to copy or download to /usr/src/linux ?

The rest of the installation process seems straightforward enough looking at the instructions, but I'm stuck on the above point. Any pointers would be very helpful.

Thanks,

Mark.

egag 12-28-2004 07:49 AM

normally, when you compile a kernel on your system from source,
a symlink /lib/modules/2.6.8.1-3-386/build will be made, pointing to the kernel-source.

the sources are needed to compile the program you want to install,
and it uses that symlink to locate the sources.

so, if you don't have the kernel-source, you should download and install them ( in /usr/src is ok, but your home-dir will be ok too ).
then make sure that symlink points to the source.

than you can compile the prog. you want.

egag

xavidp 01-18-2005 01:09 PM

It didn't work for me... :-(
 
I'm in the same case as Ranura: using ubuntu Warty (linux 2.6.8.1), and a logitech quickcam messenger.

I did the symlink as you reported (After downloading the source for my distro at /usr/src/linux, and then symlink /lib/modules/2.6.8.1-3-386/build to /usr/src/linux), egag, but I couldn't get it to work.

I downloaded the driver qc-usb to a directory inmy /home dir, cd to it, and run "make all", but got a very long list of errors, and no "quickcam.ko" is produced (but it should, according to http://qce-ga.sourceforge.net/).

I'm a bit lost (not used to compile kernels, etc.). Only used apt-get things before.

By the way, the application "apt-build" could make any help in compiling the program?
http://www.debtoo.org/apt-build.html

egag 01-18-2005 04:36 PM

what kind of errors do you get..?

egag

xavidp 01-19-2005 01:27 PM

errors list
 
This kind of errors:
(there where more at the beggining, but I cannot copy them since they disappear after executing the command "make all" until the end.

Code:


(...)

/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:317: error: error d'analitza before "bmAttributes"
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:317: avĂ_s: type defaults to `int' in declaration of `bmAttributes'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:317: avĂ_s: data definition has no type or storage class
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:318: avĂ_s: declaraciĂł buida
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:328: error: error d'analitza before "__u8"
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:328: avĂ_s: no hi ha punt i coma al final del struct o union
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:329: avĂ_s: type defaults to `int' in declaration of `bDescriptorType'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:329: avĂ_s: data definition has no type or storage class
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:331: error: error d'analitza before "bFirstInterface"
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:331: avĂ_s: type defaults to `int' in declaration of `bFirstInterface'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:331: avĂ_s: data definition has no type or storage class
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:332: error: error d'analitza before "bInterfaceCount"
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:332: avĂ_s: type defaults to `int' in declaration of `bInterfaceCount'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:332: avĂ_s: data definition has no type or storage class
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:333: error: error d'analitza before "bFunctionClass"
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:333: avĂ_s: type defaults to `int' in declaration of `bFunctionClass'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:333: avĂ_s: data definition has no type or storage class
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:334: error: error d'analitza before "bFunctionSubClass"
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:334: avĂ_s: type defaults to `int' in declaration of `bFunctionSubClass'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:334: avĂ_s: data definition has no type or storage class

(...)

/lib/modules/2.6.8.1-3-386/build/include/linux/usb_ch9.h:337: avĂ_s: declaraciĂł buida
En el fitxer inclòs dès de /lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:14,
                dès de quickcam.h:98,
                dès de qc-driver.c:47:
/lib/modules/2.6.8.1-3-386/build/include/linux/delay.h:12:23: asm/delay.h: El fitxer o directori no existeix
En el fitxer inclòs dès de /lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:15,
                dès de quickcam.h:98,
                dès de qc-driver.c:47:
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h:11:24: asm/atomic.h: El fitxer o directori no existeix
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h:12:25: asm/hardirq.h: El fitxer o directori no existeix
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h:13:24: asm/ptrace.h: El fitxer o directori no existeix
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h:14:24: asm/system.h: El fitxer o directori no existeix
In file included from /lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:15,
                from quickcam.h:98,
                from qc-driver.c:47:
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h:132: error: error d'analitza before "atomic_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h:132: avĂ_s: no hi ha punt i coma al final del struct o union
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h:135: error: error d'analitza before '}' token
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h: En la funciĂł "tasklet_schedule":
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h:176: error: dereferencing pointer to incomplete type
(...)

/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h: En la funciĂł "tasklet_hi_enable":
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h:211: error: dereferencing pointer to incomplete type
En el fitxer inclòs dès de /lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:17,
                dès de quickcam.h:98,
                dès de qc-driver.c:47:
/lib/modules/2.6.8.1-3-386/build/include/linux/kref.h:19:24: asm/atomic.h: El fitxer o directori no existeix
In file included from /lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:17,
                from quickcam.h:98,
                from qc-driver.c:47:
/lib/modules/2.6.8.1-3-386/build/include/linux/kref.h: En el nivell principal:
/lib/modules/2.6.8.1-3-386/build/include/linux/kref.h:23: error: error d'analitza before "atomic_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/kref.h:23: avĂ_s: no hi ha punt i coma al final del struct o union
/lib/modules/2.6.8.1-3-386/build/include/linux/kref.h:24: error: conflicting types for `release'
/lib/modules/2.6.8.1-3-386/build/include/linux/device.h:288: error: previous declaration of `release'
/lib/modules/2.6.8.1-3-386/build/include/linux/kref.h:25: error: error d'analitza before '}' token
In file included from quickcam.h:98,
                from qc-driver.c:47:
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:45: error: field `desc' has incomplete type
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:53: error: field `desc' has incomplete type
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:116: error: field `dev' has incomplete type
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:155: error: field `ref' has incomplete type
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:203: error: field `desc' has incomplete type
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:244: error: error d'analitza before "u8"
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:244: avĂ_s: no hi ha punt i coma al final del struct o union
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:245: error: error d'analitza before ':' token
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:246: error: error d'analitza before ':' token

(...)

/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:990: error: error d'analitza before "size_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:990: avĂ_s: no hi ha punt i coma al final del struct o union
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:996: error: conflicting types for `lock'
/lib/modules/2.6.8.1-3-386/build/include/linux/fs_struct.h:9: error: previous declaration of `lock'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:999: error: conflicting types for `pipe'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:775: error: previous declaration of `pipe'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:1006: error: conflicting types for `count'
/lib/modules/2.6.8.1-3-386/build/include/linux/videodev.h:293: error: previous declaration of `count'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:1007: error: conflicting types for `complete'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:790: error: previous declaration of `complete'
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:1008: error: error d'analitza before '}' token
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:1017: error: error d'analitza before "size_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/usb.h:1019: avĂ_s: function declaration isn't a prototype
En el fitxer inclòs dès de qc-driver.c:47:
quickcam.h:99:90: asm/pgtable.h: El fitxer o directori no existeix
quickcam.h:143:40: operador binari faltant abans de l'element "("

(...)

In file included from qc-driver.c:47:
quickcam.h:367: error: error d'analitza before "u8"
quickcam.h:367: avĂ_s: no hi ha punt i coma al final del struct o union
quickcam.h:367: avĂ_s: no hi ha punt i coma al final del struct o union
quickcam.h:368: avĂ_s: type defaults to `int' in declaration of `hival'
quickcam.h:368: avĂ_s: data definition has no type or storage class
quickcam.h:369: error: error d'analitza before "regnum"
quickcam.h:369: avĂ_s: type defaults to `int' in declaration of `regnum'
quickcam.h:369: avĂ_s: data definition has no type or storage class
quickcam.h:370: error: error d'analitza before "flags"
quickcam.h:370: avĂ_s: type defaults to `int' in declaration of `flags'
quickcam.h:370: avĂ_s: data definition has no type or storage class
quickcam.h:371: avĂ_s: type defaults to `int' in declaration of `commands'
quickcam.h:371: avĂ_s: data definition has no type or storage class
quickcam.h:377: error: conflicting types for `wq'
/lib/modules/2.6.8.1-3-386/build/include/linux/aio.h:139: error: previous declaration of `wq'
quickcam.h:379: error: error d'analitza before '}' token
quickcam.h:425: error: error d'analitza before "u8"
quickcam.h:425: avĂ_s: no hi ha punt i coma al final del struct o union
quickcam.h:426: avĂ_s: type defaults to `int' in declaration of `encU'
quickcam.h:426: avĂ_s: data definition has no type or storage class
quickcam.h:427: error: error d'analitza before '*' token
quickcam.h:427: avĂ_s: type defaults to `int' in declaration of `encY'
quickcam.h:427: avĂ_s: data definition has no type or storage class
quickcam.h:434: error: error d'analitza before "u8"
quickcam.h:434: avĂ_s: function declaration isn't a prototype
quickcam.h:436: error: error d'analitza before '}' token
quickcam.h:443: error: field `mjpeg_data' has incomplete type
quickcam.h:496: error: field `lock' has incomplete type
quickcam.h:508: error: field `vpic' has incomplete type
quickcam.h:510: error: field `vwin' has incomplete type
quickcam.h:513: error: field `i2c_data' has incomplete type
quickcam.h:522: error: error d'analitza before "u8"
quickcam.h:522: avĂ_s: no hi ha punt i coma al final del struct o union
quickcam.h:574: error: error d'analitza before "hue"
quickcam.h:574: avĂ_s: function declaration isn't a prototype
qc-driver.c:55:41: operador binari faltant abans de l'element "("
qc-driver.c:58:26: linux/malloc.h: El fitxer o directori no existeix
En el fitxer inclòs dès de qc-driver.c:65:
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:7:24: asm/atomic.h: El fitxer o directori no existeix
In file included from qc-driver.c:65:
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:44: error: error d'analitza before "off_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:45: avĂ_s: function declaration isn't a prototype
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:48: error: error d'analitza before "off_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:48: avĂ_s: function declaration isn't a prototype
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:54: error: error d'analitza before "mode_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:54: avĂ_s: no hi ha punt i coma al final del struct o union
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:55: avĂ_s: type defaults to `int' in declaration of `nlink'
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:55: error: conflicting types for `nlink'
/lib/modules/2.6.8.1-3-386/build/include/linux/stat.h:63: error: previous declaration of `nlink'
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:55: avĂ_s: data definition has no type or storage class
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:56: error: error d'analitza before "uid"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:56: avĂ_s: type defaults to `int' in declaration of `uid'
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:56: avĂ_s: data definition has no type or storage class
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:57: error: error d'analitza before "gid"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:57: avĂ_s: type defaults to `int' in declaration of `gid'
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:57: avĂ_s: data definition has no type or storage class
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:58: error: conflicting types for `size'
/lib/modules/2.6.8.1-3-386/build/include/linux/stat.h:67: error: previous declaration of `size'
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:63: error: conflicting types for `next'
/lib/modules/2.6.8.1-3-386/build/include/linux/videodev.h:216: error: previous declaration of `next'
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:63: error: conflicting types for `parent'
/lib/modules/2.6.8.1-3-386/build/include/linux/sched.h:438: error: previous declaration of `parent'
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:64: error: conflicting types for `data'
/lib/modules/2.6.8.1-3-386/build/include/linux/interrupt.h:134: error: previous declaration of `data'
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:67: error: error d'analitza before "count"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:67: avĂ_s: type defaults to `int' in declaration of `count'
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:67: avĂ_s: data definition has no type or storage class
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:69: error: error d'analitza before '}' token
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:74: error: error d'analitza before "size_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:74: avĂ_s: no hi ha punt i coma al final del struct o union
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:199: error: error d'analitza before "mode_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:199: avĂ_s: function declaration isn't a prototype
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:209: error: error d'analitza before "mode_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:210: error: error d'analitza before "off_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:210: avĂ_s: function declaration isn't a prototype
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:210: error: `create_proc_read_entry' declared as function returning a function
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:210: avĂ_s: function declaration isn't a prototype
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:213: error: error d'analitza before "mode_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:214: avĂ_s: function declaration isn't a prototype
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:225: error: error d'analitza before "size_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:226: avĂ_s: function declaration isn't a prototype
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:245: error: field `vfs_inode' has incomplete type
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h: En la funciĂł "PROC_I":/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:250: avĂ_s: type defaults to `int' in declaration of `__mptr'
/lib/modules/2.6.8.1-3-386/build/include/linux/proc_fs.h:250: avĂ_s: assignaciĂł de valors inicials de tipus de punter incompatible
En el fitxer inclòs dès de qc-driver.c:67:
/lib/modules/2.6.8.1-3-386/build/include/linux/vmalloc.h:5:47: asm/page.h: El fitxer o directori no existeix
In file included from qc-driver.c:67:
/lib/modules/2.6.8.1-3-386/build/include/linux/vmalloc.h: En el nivell principal:
/lib/modules/2.6.8.1-3-386/build/include/linux/vmalloc.h:28: error: error d'analitza before "pgprot_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/vmalloc.h:28: avĂ_s: function declaration isn't a prototype
/lib/modules/2.6.8.1-3-386/build/include/linux/vmalloc.h:32: error: error d'analitza before "pgprot_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/vmalloc.h:32: avĂ_s: function declaration isn't a prototype
/lib/modules/2.6.8.1-3-386/build/include/linux/vmalloc.h:42: error: error d'analitza before "pgprot_t"
/lib/modules/2.6.8.1-3-386/build/include/linux/vmalloc.h:43: avĂ_s: function declaration isn't a prototype
qc-driver.c:68:20: asm/io.h: El fitxer o directori no existeix
qc-driver.c:69:25: asm/uaccess.h: El fitxer o directori no existeix
qc-driver.c:70:22: asm/page.h: El fitxer o directori no existeix
qc-driver.c:73:41: operador binari faltant abans de l'element "("
make: *** [qc-driver.o] Error 2

Any hints?
Do I need to compile my own kernel in order to compile later the drivers for the Webcam "quickcam messenger"?

Xavi

egag 01-19-2005 07:15 PM

well...i don't understand all of it , but are you sure you've got the correct sources to match your running kernel. ?
and are they complete ?
did you get your source from ubuntu ?

egag

Hangdog42 01-20-2005 07:39 AM

You might want to give a try to these drivers. They are a replacement for the old pwc drivers that used to be in the kernel and it works well with my Logitech webcam.


All times are GMT -5. The time now is 05:51 PM.