[fprint] Makefile, permissions, saved data and Python.
tonygon at gmail.com
Fri Jul 25 14:59:55 PDT 2014
I'm writing an application using libfprint.
We want to launch certain demos when a certain finger is verified.
My questions are about:
3) Saved data
1) How to compile application with libfprint correctly?
With what (little) I know, I made a makefile, but the library
libfprint is not found in any way. Here's the code.
CC = gcc
FINGER_CFLAGS = -I/home/viki/libFinger/include
FINGER_LIBS = -llibfprint.la
DEPS = fprint.h
OBJ = enroll.o
CRYPTO_CFLAGS = -I/usr/include/nss -I/usr/include/nspr
CRYPTO_LIBS = -lnss3 -lnssutil3 -lsmime3 -lssl3 -lplds4 -lplc4 -lnspr4
GLIB_CFLAGS = -I/usr/include/glib-2.0
GLIB_LIBS = -lglib-2.0
LIBUSB_CFLAGS = -I/usr/include/libusb-1.0
LIBUSB_LIBS = -lusb-1.0
LIBS = $(CRYPTO_LIBS) $(GLIB_LIBS) $(LIBUSB_LIBS) $(FINGER_LIBS)
CFLAGS = $(CRYPTO_FLAGS) $(GLIB_FLAGS) $(LIBUSB_LIBS) $(FINGER_CFLAGS)
%.o: %.c $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)
I copied a few lines from the Makefile under /examples folder of the
library. I configured the installation with
--prefix=/home/viki/libFinger/. So, one level up from where my source
code files are, you can find the installed /include and /lib folders.
All the examples run correctly when compiled with the generated Makefile.
Could you tell me what I'm doing wrong? or provide a simplistic
example on how to compile with libfprint with a Makefile.
2) When I run an example say ./enroll. I get this error message:
libusb couldn't open USB device.
I get "permission denied" errors also when I read/load any previously
saved finger prints, since they are saved in the folder /.fprints. in
the home directory.
How can I control where to save the files, and how to 'give'
permissions to libusb in order not to get these errors? Since writing
sudo ./enroll, defeats the purpose of having the fingerprint sensor to
3) I have an eikon swipe-type sensor. The saved finger prints are
saved with the name corresponding a finger number, i.e. file '1' holds
the finger print from the LEFT_THUMB. In my computer at least, they
are inside folder '/000d/00000000'.
I want to save various fingerprints for (around) 5 users.
Is there any way of saving the files using other file/folder names?
Say folder 'User-1' holds the prints for fingers 'Prog-1', 'Prog-2',
where these would correspond to some fingers.
4) Has anyone written a Python wrapper? I read some articles about
this, but all of them had the C/C++ header and implementation files to
write the wrapper. Any pointers to examples where the C program uses
external libraries, like with libfprint, as well?? (libusb, glib, nss,
I thought about sending ROS messages from the .c file to my .py files,
where I need the authentication. Since we're using ROS anyways.
But Python wrapper would be nicer.
Thank you in advanced.
Any comments are very much welcomed.
More information about the fprint