PDA

Afficher la version complète : [Réglé] Compiler les fichiers uvcvideo pour Logitech Quickcam Pro 5000



carolive
31/08/2006, 08h44
Hello evribodix,

Je cherche toujours a installer les drivers de ma webcam Logitech Quickcam Pro 5000. J'ai donc recupere les fichiers du projet linux-uvc, uvcvideo.c, uvcvideo.o et makefile.txt.
Quand j'essaye de compiler uvcvideo.c avec gcc et diverses options, j'ai une quantite de messages d'erreurs.

Donc, la premiere demarche de le compiler avec gcc est-elle la bonne ?
(Suse 10.1) http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif

Merci de votre aide. Je vais peut-etre finir a l'utiliser cette @#$%& de webcam http://www.alionet.org/style_emoticons/<#EMO_DIR#>/tongue.gif

carolive

JuTs
31/08/2006, 10h43
Salut

Tu as quoi comme erreur ?

debianSarge
31/08/2006, 13h23
Salut, il n'y a que ça comme fichiers ?? La manipulation passe d'habitude par make qui va chercher un fichier Makefile (donc pas makefile.txt), ce fichier ets souvent édité par un petit programme "configure", envoie-nous tes erreurs et surtout le contenu de l'archive que tu as récupérée.

Dudule-le-poisson
31/08/2006, 17h56
Donne-nous le lien exact vers ce que tu essayes de compiler, ça sera plus simple.

carolive
31/08/2006, 18h32
Bonjour a tous,

Merci encore une fois de votre aide.

Alors pour repondre a tout le monde car c'est la moindre des choses, le message d'erreur est assez long mais ca demarre avec :

/usr/include/linux/list.h:814:2: warning: #warning "don't include kernel headers in userspace"
In file included from /usr/include/linux/timex.h:61,
from /usr/include/linux/sched.h:11,
from /usr/include/linux/module.h:10,
from uvcvideo.c:36:
/usr/include/asm/timex.h: In function 'get_cycles':
/usr/include/asm/timex.h:40: error: 'cpu_has_tsc' undeclared (first use in this function)
/usr/include/asm/timex.h:40: error: (Each undeclared identifier is reported only once
/usr/include/asm/timex.h:40: error: for each function it appears in.)
In file included from /usr/include/linux/sched.h:12,
from /usr/include/linux/module.h:10,
from uvcvideo.c:36:

etc...

Il n'y a pas de fichiers "configure" ou "make" malheureusement pour compiler avec la prodedure "habituelle".
Les fichiers en question se trouvent la :
http://svn.berlios.de/svnroot/repos/linux-...inux-uvc/trunk/ (http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/)

Si vous voulez le message d'erreur entier.... http://www.alionet.org/style_emoticons/<#EMO_DIR#>/rolleyes.gif
Amclt,
carolive

Dudule-le-poisson
31/08/2006, 19h02
Procédure :
-enregistrer les 4 fichiers dans un dossier.
-Ne pas renommer Makefile en makefile.txt comme tu semble l'avoir fait précédemment.
-En console : make (chez moi, ça compile de suite)
-Toujours en console mais avec les droits root cette fois : make install (non testé, je n'ai pas de webcam et je doute que cette phase pose problème)

devloop
01/09/2006, 01h52
effectivement un simple make fonctionne :


> make
Building USB Video Class driver...
make[1]: Entering directory `/usr/src/linux-2.6.16.21-0.13-obj/i386/default'
make -C ../../../linux-2.6.16.21-0.13 O=../linux-2.6.16.21-0.13-obj/i386/default modules
CC [M] /tmp/uvc/uvcvideo.o
Building modules, stage 2.
MODPOST
CC /tmp/uvc/uvcvideo.mod.o
LD [M] /tmp/uvc/uvcvideo.ko
make[1]: Leaving directory `/usr/src/linux-2.6.16.21-0.13-obj/i386/default'

fait comme la dis Dudule-le-poisson

carolive
01/09/2006, 07h35
Bon, j'ai fait le make et voila. Il me manque quelque-chose forcement. Je n'ai jamais eu de pb auparavant, mais avec un ./configure avant le make

make: *** Pas de cibles spécifiées et aucun makefile n'a été trouvé. Arrêt.

Je n'avais pas renomme le fichier Makefile.txt et j'avais recharge a nouveau les 4 fichiers.

J'ai essaye de faire un make -f Makefile.txt et ca me donne une autre erreur. Le meme probleme avec le fichier Makefile apparemment et/ou de version de noyau ??!!

Building USB Video Class driver...
make[1]: Entering directory `/usr/src/linux-2.6.16.13-4-obj/i386/smp'
make -C ../../../linux-2.6.16.13-4 O=../linux-2.6.16.13-4-obj/i386/smp modules
/usr/src/linux-2.6.16.13-4/scripts/Makefile.build:17: /home/carolive/Tempo_softs/Webcam/linux-uvc/Makefile: Aucun fichier ou répertoire de ce type
make[4]: *** Pas de règle pour fabriquer la cible « /home/carolive/Tempo_softs/Webcam/linux-uvc/Makefile ». Arrêt.
make[3]: *** [_module_/home/carolive/Tempo_softs/Webcam/linux-uvc] Erreur 2
make[2]: *** [modules] Erreur 2
make[1]: *** [modules] Erreur 2
make[1]: Leaving directory `/usr/src/linux-2.6.16.13-4-obj/i386/smp'
make: *** [uvcvideo] Erreur 2


Merci de votre patience. Je continue de chercher http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif

devloop
01/09/2006, 11h50
ici il n'y a pas de fichier configure, il faut juste tapper make

/home/carolive/Tempo_softs/Webcam/linux-uvc/Makefile: Aucun fichier ou répertoire de ce type
apparemment il cherche automatiquement un fichier nommé Makefile, évite de le renommer et assure toi d'être dans la bon répertoire

carolive
01/09/2006, 12h04
Merci devloop, il n'y a effectivement pas de fichier "configure" et je ne renomme pas le fichier "Makefile.txt". Le "make" ne fonctionne pas du tout. Seul un "make -f Makefile.txt" depuis le repertoire /home/carolive/Tempo_softs/Webcam/linux-uvc/ lance quelque-chose mais avec l'erreur precedemment citee.
Je n'ai pas trouve plus d'info pour l'instant.

Merci de votre aide http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif

Dudule-le-poisson
01/09/2006, 12h56
C'est pas clair tout ça.
Donne-nous la sortie de ça :

ls -l /home/carolive/Tempo_softs/Webcam/linux-uvc/


Je n'avais pas renomme le fichier Makefile.txt et j'avais recharge a nouveau les 4 fichiers.
Euh.. le fichier DOIT s'appeler "Makefile" (sans les quotes), pas "Makefile.txt".

Le Makefile est tout con (voir code suivant : il y est en intégralité). Le fait qu'il ne trouve pas de Makefile mais que ta commande en -f Makefile.txt démarre ne colle pas avec tes affirmations. De plus, je crois que le SUBDIRS=$(PWD) dans ucvideo exige qu'il y ait un Makefile dans ton dossier, et non un Makefile.txt.


KERNEL_VERSION := `uname -r`
KERNEL_DIR := /lib/modules/$(KERNEL_VERSION)/build
INSTALL_MOD_DIR := usb/media
PWD := $(shell pwd)
obj-m := uvcvideo.o

%.o : %.c
gcc $(TEST_CFLAGS) -c -o $@ $<

all: uvcvideo

uvcvideo:
@echo "Building USB Video Class driver..."
@(cd $(KERNEL_DIR) && make -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules)

install:
@echo "Installing USB Video Class driver..."
@(cd $(KERNEL_DIR) && make -C $(KERNEL_DIR) SUBDIRS=$(PWD) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) modules_install)
depmod -ae

clean:
-rm -f *.o *.ko .*.cmd .*.flags *.mod.c Modules.symvers
-rm -rf .tmp_versions

carolive
01/09/2006, 13h26
C'est pas clair tout ça.
Donne-nous la sortie de ça :

ls -l /home/carolive/Tempo_softs/Webcam/linux-uvc/


Je n'avais pas renomme le fichier Makefile.txt et j'avais recharge a nouveau les 4 fichiers.
Euh.. le fichier DOIT s'appeler "Makefile" (sans les quotes), pas "Makefile.txt".

Le Makefile est tout con (voir code suivant : il y est en intégralité). Le fait qu'il ne trouve pas de Makefile mais que ta commande en -f Makefile.txt démarre ne colle pas avec tes affirmations. De plus, je crois que le SUBDIRS=$(PWD) dans ucvideo exige qu'il y ait un Makefile dans ton dossier, et non un Makefile.txt.


KERNEL_VERSION := `uname -r`
KERNEL_DIR := /lib/modules/$(KERNEL_VERSION)/build
INSTALL_MOD_DIR := usb/media
PWD := $(shell pwd)
obj-m := uvcvideo.o

%.o : %.c
gcc $(TEST_CFLAGS) -c -o $@ $<

all: uvcvideo

uvcvideo:
@echo "Building USB Video Class driver..."
@(cd $(KERNEL_DIR) && make -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules)

install:
@echo "Installing USB Video Class driver..."
@(cd $(KERNEL_DIR) && make -C $(KERNEL_DIR) SUBDIRS=$(PWD) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) modules_install)
depmod -ae

clean:
-rm -f *.o *.ko .*.cmd .*.flags *.mod.c Modules.symvers
-rm -rf .tmp_versions[/b]

Bin en fait mon erreur etait de NE PAS renommer le fichier makefile.txt en makefile (pas assez dormi moi c'est sur). Donc une fois cela fait ca marche evidemment !! J'ai du juste mettre a jour V4L en V4L2 et recuperer d'autres fichiers comme v4l2_enumfrmfmt.h.
Donc, vous me confirmez qu'il n'y a que le make et le make install a faire (comme d'hab quoi) et normalement, le driver est installe ? http://www.alionet.org/style_emoticons/<#EMO_DIR#>/huh.gif
Maintenant il me reste a trouver l'appli qui va me connecter la webcam. Je vais regarder avec Kopete, Ekiga, xawtv, ...

Merci, la prochaine fois je dormirais un peu plus http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif

Dudule-le-poisson
01/09/2006, 15h20
Oui, on (enfin je) confirme. Après installation, il y aura peut-être quelques histoires de chargement de module (modprobe uvcvideo ?).

carolive
01/09/2006, 17h35
Alors je confirme, le driver se charge tres bien avec le modprobe. J'avais deja un driver spcaxx de charge. La webcam fonctionne assez bien sur Ekiga.
Ne fonctionne pas sur aMsn ni Kopete.
Je vais voir s'il est possible de bidouiller les fichiers de config de la webcam histoire de voir...

Mille merci a vous tous. Heureusement que vous etiez-la. Ce matin je n'etais vraiment pas reveille http://www.alionet.org/style_emoticons/<#EMO_DIR#>/rolleyes.gif

Je vous tiens au jus de mes eventuelles decouvertes...au moins cela pourra peut-etre servir a d'autres egalement.
Vive la communaute http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif
carolive

Dudule-le-poisson
01/09/2006, 18h08
Cool http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif Dans ce cas, pourrais-tu éditer ton premier post et mettre [Réglé] devant le titre du topic ? (tu peux aussi spécifier un titre plus explicite pour ceux qui rechercheront)

Edit. : Merci.

carolive
01/09/2006, 20h49
Non c'est moi !! http://www.alionet.org/style_emoticons/<#EMO_DIR#>/tongue.gif

Pour resumer l'installation de la webcam Logitech Quickcam Pro 5000 :

Telecharger les fichiers uvcvideo ici (http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/branches/split/)
Depuis le repertoire ou vous les aurez telecharges, tapez make, puis en root make install.
Si tout ce passe sans erreurs, tapez modprobe uvcvideo.
Il faut egalement installer V4L2 car la webcam n'est pas compatible avec V4L. Le probleme est d'ensuite l'utiliser avec des softs compatibles V4L2 et a ce jour je n'ai trouve que Ekiga. Kopete en version 0.12.2 ne la voit pas (ca plante lorsqu'on essaye de faire des reglages. Il faut essayer avec la version svn de Kopete ce que je n'ai pas encore fait), aMsn non plus. Je n'ai pas encore teste Gaim, mais il ne me semble pas qu'il supporte encore les webcams. Wengo 2.0.0 Beta 2 ne voit pas non plus la webcam uvc mais avec celles-ci (http://wiki.wengo.fr/index.php/Liste_des_Webcams_compatibles) seulement.

En esperant pouvoir a mon tour vous aider apres l'avoir ete moi-meme http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif
caroliv'