web-dev-qa-db-ja.com

v4l.c:52:28:致命的なエラー:linux / videodev.h:そのようなファイルまたはディレクトリはありません

Ubuntu 16.04にPS3アイカメラ用のドライバーをインストールしようとしていますが、 このチュートリアル を使用して、makeコマンドの後に、次のエラーが表示されます。

Making all in cpi
make[2]: Entering directory '/home/mona/unicap-0.9.5/cpi'
Making all in v4l
make[3]: Entering directory '/home/mona/unicap-0.9.5/cpi/v4l'
/bin/bash ../../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../include -I../../include    -g -O2 -MT queue.lo -MD -MP -MF .deps/queue.Tpo -c -o queue.lo queue.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../include -I../../include -g -O2 -MT queue.lo -MD -MP -MF .deps/queue.Tpo -c queue.c  -fPIC -DPIC -o .libs/queue.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../include -I../../include -g -O2 -MT queue.lo -MD -MP -MF .deps/queue.Tpo -c queue.c -o queue.o >/dev/null 2>&1
mv -f .deps/queue.Tpo .deps/queue.Plo
/bin/bash ../../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../include -I../../include    -g -O2 -MT v4l.lo -MD -MP -MF .deps/v4l.Tpo -c -o v4l.lo v4l.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../include -I../../include -g -O2 -MT v4l.lo -MD -MP -MF .deps/v4l.Tpo -c v4l.c  -fPIC -DPIC -o .libs/v4l.o
v4l.c:52:28: fatal error: linux/videodev.h: No such file or directory
compilation terminated.
Makefile:387: recipe for target 'v4l.lo' failed
make[3]: *** [v4l.lo] Error 1
make[3]: Leaving directory '/home/mona/unicap-0.9.5/cpi/v4l'
Makefile:315: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/mona/unicap-0.9.5/cpi'
Makefile:414: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/mona/unicap-0.9.5'
Makefile:344: recipe for target 'all' failed
make: *** [all] Error 2

現在のパスは次のとおりです。

$ pwd
/home/mona/unicap-0.9.5

これを修正する方法、またはPS3アイカメラのドライバーをインストールする方法を教えてください。

Smallappを試してみると、答えで述べたようにビデオが表示されません。 enter image description here

1
Mona Jalal

イントロ

ビデオキャプチャデバイスへの統合インターフェイスは、Ubuntuでは libunicap2-dev パッケージとしてパッケージ化されています。

しかし、あなたは2008年から正確に0.9.5バージョンにパッチを当てているようです。

1.コンパイル

したがって、Software&Updates(またはsoftware-properties-gtkコマンド)からのソースコードパッケージを有効にする必要があります

Software & Updates

すべてのビルド依存関係をインストールします

Sudo apt-get build-dep libunicap2-dev 

x11サポート(GTK-widget)が必要な場合は、Xvライブラリをインストールします

Sudo apt-get install libxv-dev

そして、あなたのガイドに従ってください:

cd ~/Downloads
wget http://unicap-imaging.org/downloads/unicap-0.9.5.tar.gz
tar -xf unicap-0.9.5.tar.gz
cd unicap-0.9.5
wget http://kaswy.free.fr/sites/default/files/download/ps3eye/unicap/unicap-gspca.patch
patch -p0 < unicap-gspca.patch cpi/v4l2cpi/v4l2.c
./configure

1.1現在のUbuntuバージョンのパッチ適用

既にご存知のように、blog-postからinclude-pathの一部が変更されました(2010年の遅かれ早かれ)。そのため、パッチを適用する必要があります。

cpi/v4l/v4l.c

cat << EOF > xenial-v4l-p1.patch

--- ~/Downloads/unicap-0.9.5/cpi/v4l/v4l.c
+++ ~/Downloads/unicap-0.9.12/cpi/v4l/v4l.c
@@ -49,7 +49,7 @@
 #endif
 #include <debug.h>

-#include <linux/videodev.h>
+#include <libv4l1-videodev.h>
 #include <linux/videodev2.h> // for v4l2 checks

 #include "v4l.h"

EOF

patch -p0 < xenial-v4l-p1.patch cpi/v4l/v4l.c

cpi/v4l2cpi/uvcvideo.h

cat << EOF > xenial-v4l-p2.patch
--- ~/Downloads/unicap-0.9.5/cpi/v4l2cpi/uvcvideo.h
+++ ~/Downloads/unicap-0.9.12/cpi/v4l2cpi/uvcvideo.h
@@ -2,7 +2,7 @@
 #define _USB_VIDEO_H_

 #include <linux/kernel.h>
-#include <linux/videodev.h>
+#include <libv4l1-videodev.h>

 #include "uvc_compat.h"


EOF

patch -p0 < xenial-v4l-p2.patch cpi/v4l2cpi/uvcvideo.h

次に、作成してインストールします。

make
Sudo make install

2.テスト

例はexamplesにあるようで、次のようにコンパイルできます:

Sudo apt-get install libsdl-dev libjpeg-turbo8-dev
cd examples
make

興味深いのはexamples/unicapgtk/smallappのGTKアプリケーションです

env LD_LIBRARY_PATH=/usr/local/lib/ unicapgtk/smallapp/smallapp

また、カメラに関する情報を取得することもできます

env LD_LIBRARY_PATH=/usr/local/lib/ c/device_info/device_info

ビデオを表示するには、 CView をインストールする必要がありますが、これを行う方法がわかりません。

1
N0rbert