Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/03/2011, à 17:12

PengouinPdt

Fingerprintgui: make qtcrypto error

Bonjour à tous ...

ATTENTION : Billet long !

Bon, j'ai le fameux XPS M1330 de Dell, avec Ubuntu 10.10 32 bits, et je cherche à utiliser le lecteur d'empreinte.
Je sais que Fprint marche assez correctement pour l'avoir essayé - mais aujourd'hui, je me dis pourquoi pas testé 'fingerprintgui' !

Donc, après avoir lu la page de notre documentation sur le propos de fingerprintgui, je télécharge la version 1.0 actuelle.
Très rapidement, je me rends compte que l'archive n'a pas la même structure que celle "présentée" sur notre documentation.
En effet, pas de fichier install.sh.

Donc, lecture du fichier README.
Il faut générer le fichier Makefile avec la commande qmake-qt4.
Ce packet n'est pas installé :

sudo apt-get install qt4-qmake

puis qmake-qt4 dans le répertoire décompressé de fingerprintgui :  pas de soucis.

Ensuite, il faut construire l'exécutable, avec un petit 'make'.
Et, là, les problèmes en masse arrivent !

$ make
cd bin/ && /usr/bin/qmake-qt4 /home/zou/Téléchargements/fingerprint-gui-1.00/bin/bin.pro -o Makefile
cd bin/ && make -f Makefile 
make[1]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
cd fingerprint-gui/ && /usr/bin/qmake-qt4 /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui/fingerprint-gui.pro -o Makefile
cd fingerprint-gui/ && make -f Makefile 
make[2]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
/usr/bin/uic-qt4 ../../src/About.ui -o ui_About.h
make[2]: /usr/bin/uic-qt4 : commande introuvable
make[2]: *** [ui_About.h] Erreur 127
make[2]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
make[1]: *** [sub-fingerprint-gui-make_default] Erreur 2
make[1]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
make: *** [sub-bin-make_default] Erreur 2

Il manque donc la commande uic-qt4 : il faut donc installer la libqt4-dev...
Ceci étant fait, on relance le make !

$ make
cd bin/ && make -f Makefile 
make[1]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
cd fingerprint-gui/ && make -f Makefile 
make[2]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
/usr/bin/uic-qt4 ../../src/About.ui -o ui_About.h
/usr/bin/uic-qt4 ../../src/ExistDialog.ui -o ui_ExistDialog.h
/usr/bin/uic-qt4 ../../src/FingerprintGUI.ui -o ui_FingerprintGUI.h
/usr/bin/uic-qt4 ../../src/SavedDialog.ui -o ui_SavedDialog.h
/usr/bin/uic-qt4 ../../src/Message.ui -o ui_Message.h
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o DeviceHandler.o ../../src/DeviceHandler.cpp
make[2]: g++ : commande introuvable
make[2]: *** [DeviceHandler.o] Erreur 127
make[2]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
make[1]: *** [sub-fingerprint-gui-make_default] Erreur 2
make[1]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
make: *** [sub-bin-make_default] Erreur 2

Cette fois-ci, c'est g++ qui manque ; je l'installe, et relance le make !

$ make
cd bin/ && make -f Makefile 
make[1]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
cd fingerprint-gui/ && make -f Makefile 
make[2]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o DeviceHandler.o ../../src/DeviceHandler.cpp
In file included from ../../src/DeviceHandler.cpp:51:
../../src/../include/UsbDevice.h:31: fatal error: libusb-1.0/libusb.h: Aucun fichier ou dossier de ce type
compilation terminated.
make[2]: *** [DeviceHandler.o] Erreur 1
make[2]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
make[1]: *** [sub-fingerprint-gui-make_default] Erreur 2
make[1]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
make: *** [sub-bin-make_default] Erreur 2

Maintenant, c'est la libusb qui fait défaut ; donc, j'installe les paquets libusb-1.0-0, libusb-1.0-0-dev ...puis make à nouveau !

$ make
cd bin/ && make -f Makefile 
make[1]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
cd fingerprint-gui/ && make -f Makefile 
make[2]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o DeviceHandler.o ../../src/DeviceHandler.cpp
In file included from ../../src/../include/FingerprintDevice.h:33,
                 from ../../src/DeviceHandler.cpp:52:
../../src/../include/Globals.h:39: fatal error: libfprint/fprint.h: Aucun fichier ou dossier de ce type
compilation terminated.
make[2]: *** [DeviceHandler.o] Erreur 1
make[2]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
make[1]: *** [sub-fingerprint-gui-make_default] Erreur 2
make[1]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
make: *** [sub-bin-make_default] Erreur 2

C'est au tour de la libfprint d'être nécessaire ... donc, install de celle-ci et de son pendant de développement, puis 'make' derechef !

$ make
cd bin/ && make -f Makefile 
make[1]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
cd fingerprint-gui/ && make -f Makefile 
make[2]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o DeviceHandler.o ../../src/DeviceHandler.cpp
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o PermissionHandler.o ../../src/PermissionHandler.cpp
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o AboutImpl.o ../../src/AboutImpl.cpp
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o ExistDialogImpl.o ../../src/ExistDialogImpl.cpp
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o Fingerprint.o ../../src/Fingerprint.cpp
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o FingerprintData.o ../../src/FingerprintData.cpp
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o UpekDevice.o ../../src/drivers/UpekDevice.cpp
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o GenericDevice.o ../../src/drivers/GenericDevice.cpp
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o FingerprintGUI.o ../../src/FingerprintGUI.cpp
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o MainWindowImpl.o ../../src/MainWindowImpl.cpp
In file included from ../../src/MainWindowImpl.cpp:44:
../../src/../include/PamTester.h:35: fatal error: security/pam_appl.h: Aucun fichier ou dossier de ce type
compilation terminated.
make[2]: *** [MainWindowImpl.o] Erreur 1
make[2]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
make[1]: *** [sub-fingerprint-gui-make_default] Erreur 2
make[1]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
make: *** [sub-bin-make_default] Erreur 2

Cette fois-ci, la compilation mouline sérieux, jusqu'à planter sur l'absence de 'pam_appl' ...
Il faut donc les bibliothèques libpam0g, libpam0g-dev ...
Ceci fait, relance du 'make' :

$ make
cd bin/ && make -f Makefile 
make[1]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
cd fingerprint-gui/ && make -f Makefile 
make[2]: entrant dans le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
g++ -c -pipe -fno-strict-aliasing -O2 -D_REENTRANT -Wall -W -DLIBEXECDIR=\"/usr/local/lib/fingerprint-gui\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I../../include -I../../upek/include -I. -I. -o MainWindowImpl.o ../../src/MainWindowImpl.cpp
In file included from ../../src/MainWindowImpl.cpp:46:
../../src/../include/UserSettings.h:30: fatal error: QtCrypto: Aucun fichier ou dossier de ce type
compilation terminated.
make[2]: *** [MainWindowImpl.o] Erreur 1
make[2]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin/fingerprint-gui »
make[1]: *** [sub-fingerprint-gui-make_default] Erreur 2
make[1]: quittant le répertoire « /home/zou/Téléchargements/fingerprint-gui-1.00/bin »
make: *** [sub-bin-make_default] Erreur 2

Et, là, c'est le drame : QtCrypto manque à l'appel !!!
C'est normalement géré par la libqca2, libqca2-dev ...
J'ai essayé d'installer aussi les libgcrypto-11* ...

Après avoir essayé de trouver des infos sur le web, être allé sur le site de l'auteur où sa documentation fait mention des dépendances nécessaires à Ubuntu 10.10 ... c'est-à-dire, toutes celles que j'ai forcément installé pour arriver à ce résultat où malheureusement, je ne peux aller plus loin... sans parler de la nécessité de qmake-qt4, g++, ...

L'auteur, sur sa page d'accueil, informe des tests réussis sur notre architecture, mais clairement il manque quelque chose !

Néanmoins, c'est un problème soulevé par certains, sur son forum anglais, sur Ubuntu 10.04 ... une personne l'aurait résolu sur sa Fedora en modifiant certains fichiers .cpp, ce que j'ai fait pour voir - non je ne lis pas l'allemand, mais google le traduit tant bien que mal et puis c'est pas bien compliqué -, mais pas plus de pas en avant !

Quelqu'un aurait une autre idée ?

Dernière modification par PengouinPdt (Le 05/03/2011, à 17:13)


Ego ~
YUP.py :: Yet Uploader Pixxie.py :: script python : post d'images sur forum !

Hors ligne

#2 Le 22/04/2011, à 12:42

ziad.rachid

Re : Fingerprintgui: make qtcrypto error

Bonjour
J'ai eu exactement le même problème que vous et les étapes présentées pour régler le pb sous Fedora ne sont pas utiles sauf qu'elles idiquent la nature du problème : chemins des fichiers de librairie.
Les fichier non trouvés QtCrypto ne sont pas dans le même dossier que les autres : /usr/lib/qt4/ même plutôt dans le dossier /usr/lib/QtCrypto (au même niveau que qt4)
Les fichiers à modifier sont (relativement au dossier contenant tout le source) :
1- ./src/UserSettings.cpp : il faut remplacer #include <QtCrypto> par #include <QtCrypto/QtCrypto>
2- ./include/UserSettings.h : il faut remplacer aussi #include <QtCrypto> par #include <QtCrypto/QtCrypto>

Normalement tout se passe sans erreurs.
Reste à essayer les fonctionnalités

Hors ligne