Ошибка при установке droidcam

Ошибка при установке droidcam

После вводаsudo apt-get install droidcam

Я получаю сообщение об ошибке:-

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)

выход дляsudo 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

как решить эту проблему?

решение1

На самом деле, ошибка, которую вы упомянули, является 2-м состоянием после 1-й пробной установки.

  • Первая попытка завершается ошибкой сборки/компиляции и удаляет исходные архивы модуля (без проверки успешности сборки).
  • Следующие испытания показывают отсутствие исходного архива модуля ядра.

Вот исходная ошибка (полный журнал):

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

Чтобы исправить исходную ошибку, strict_strtoulбыло заменено наkstrtoul

  1. Получить источник

    sudo apt-add-repository -s ppa:paolorotolo/droidcam
    sudo apt-get update
    
    mkdir sand_box
    cd sand_box
    
    apt-get source droidcam
    cd droidcam-*/
    
  2. Установить зависимости сборки

    sudo apt-get builddep droiddeb
    sudo apt-get install devscripts debhelper
    
  3. Заменить strict_strtoulна kstrtoul:

    • droidcam-v4l2-x64.tar.gz : /v4l2loopback/v4l2loopback-dc.c
    • droidcam-v4l2-x86.tar.gz : /v4l2loopback/v4l2loopback-dc.c
  4. Сборка и установка

    debbuild -d -uc
    sudo dpkg -i ../droidcam_*.deb
    

Другой способ, без пересборки пакета Debian:

  1. После того, как вы попытались установить его и получили ошибку. Если еще нет, запустите:

    sudo apt-get install droidcam
    
  2. Перейдите по ссылке /var/cache/apt/archives/. Откройте его пакет с помощью архиватора и извлеките оба droidcam-v4l2-*.tar.gzфайла (или только нужный arch)

  3. Заменить strict_strtoulна kstrtoul:

    • droidcam-v4l2-x64.tar.gz : /v4l2loopback/v4l2loopback-dc.c
    • droidcam-v4l2-x86.tar.gz : /v4l2loopback/v4l2loopback-dc.c
  4. Переместить оба архива в /opt/droidcam/

    sudo mv droidcam-v4l2-*.tar.gz /opt/droidcam/
    
  5. Запустите установку еще раз, чтобы пересобрать ее.

    sudo apt-get install droidcam
    

Использованная литература:

Связанный контент