
Después de escribirsudo apt-get install droidcam
Recibo un error: -
Setting up droidcam (1.3-0ubuntu0) ...
tar: *.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
dpkg: error processing package droidcam (--configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
droidcam
E: Sub-process /usr/bin/dpkg returned an error code (1)
salida parasudo apt-cache policy droidcam
droidcam:
Installed: 1.3-0ubuntu0
Candidate: 1.3-0ubuntu0
Version table:
*** 1.3-0ubuntu0 0
500 http://ppa.launchpad.net/paolorotolo/droidcam/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
¿Cómo solucionar este problema?
Respuesta1
En realidad, el error que mencionaste es el segundo estado después de la primera prueba de instalación.
- La primera prueba termina con un error de creación/compilación y elimina los archivos fuente del módulo (sin comprobar si la compilación se realizó correctamente).
- Las próximas pruebas muestran que falta el archivo fuente del módulo del kernel.
Aquí está el error original (registro completo):
make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory '/usr/src/linux-headers-3.19.0-30-generic'
LD /opt/droidcam/v4l2loopback/built-in.o
CC [M] /opt/droidcam/v4l2loopback/v4l2loopback-dc.o
/opt/droidcam/v4l2loopback/v4l2loopback-dc.c: In function ‘attr_store_maxopeners’:
/opt/droidcam/v4l2loopback/v4l2loopback-dc.c:456:3: error: implicit declaration of function ‘strict_strtoul’ [-Werror=implicit-function-declaration]
if (strict_strtoul(buf, 0, &curr))
^
/opt/droidcam/v4l2loopback/v4l2loopback-dc.c: At top level:
/opt/droidcam/v4l2loopback/v4l2loopback-dc.c:2311:3: warning: initialization from incompatible pointer type
.vidioc_s_std = &vidioc_s_std,
^
/opt/droidcam/v4l2loopback/v4l2loopback-dc.c:2311:3: warning: (near initialization for ‘v4l2_loopback_ioctl_ops.vidioc_s_std’)
/opt/droidcam/v4l2loopback/v4l2loopback-dc.c:2331:3: warning: initialization from incompatible pointer type
.vidioc_s_audio = &vidioc_s_audio,
^
/opt/droidcam/v4l2loopback/v4l2loopback-dc.c:2331:3: warning: (near initialization for ‘v4l2_loopback_ioctl_ops.vidioc_s_audio’)
/opt/droidcam/v4l2loopback/v4l2loopback-dc.c:2333:3: warning: initialization from incompatible pointer type
.vidioc_s_audout = &vidioc_s_audout,
^
/opt/droidcam/v4l2loopback/v4l2loopback-dc.c:2333:3: warning: (near initialization for ‘v4l2_loopback_ioctl_ops.vidioc_s_audout’)
cc1: some warnings being treated as errors
scripts/Makefile.build:263: recipe for target '/opt/droidcam/v4l2loopback/v4l2loopback-dc.o' failed
make[2]: *** [/opt/droidcam/v4l2loopback/v4l2loopback-dc.o] Error 1
Makefile:1395: recipe for target '_module_/opt/droidcam/v4l2loopback' failed
make[1]: *** [_module_/opt/droidcam/v4l2loopback] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.19.0-30-generic'
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 2
Para corregir el error original, strict_strtoul
fue reemplazado porkstrtoul
Obtener fuente
sudo apt-add-repository -s ppa:paolorotolo/droidcam sudo apt-get update mkdir sand_box cd sand_box apt-get source droidcam cd droidcam-*/
Instalar dependencias de compilación
sudo apt-get builddep droiddeb sudo apt-get install devscripts debhelper
Reemplazar
strict_strtoul
conkstrtoul
en:- droidcam-v4l2-x64.tar.gz: /v4l2loopback/v4l2loopback-dc.c
- droidcam-v4l2-x86.tar.gz: /v4l2loopback/v4l2loopback-dc.c
Construir e instalar
debbuild -d -uc sudo dpkg -i ../droidcam_*.deb
Otra forma, sin reconstruir el paquete Debian:
Después de intentar instalarlo y obtener el error. Si aún no, ejecuta:
sudo apt-get install droidcam
Ir a
/var/cache/apt/archives/
. Abra su paquete con archive-manager y extraiga ambosdroidcam-v4l2-*.tar.gz
archivos (o simplemente el archivo necesario)Reemplazar
strict_strtoul
conkstrtoul
en:- droidcam-v4l2-x64.tar.gz: /v4l2loopback/v4l2loopback-dc.c
- droidcam-v4l2-x86.tar.gz: /v4l2loopback/v4l2loopback-dc.c
Mueva ambos archivos a /opt/droidcam/
sudo mv droidcam-v4l2-*.tar.gz /opt/droidcam/
Ejecute la instalación nuevamente para reconstruirla.
sudo apt-get install droidcam
Referencias: