ARToolKit on Ubuntu 12.10 64bit

今更ながら、ARToolKitで遊んでみようと思い環境構築。

Ubuntu 12.10の64bit版にインストールしてみた。ARToolKitは、2.72.1を使用。

http://www.kameda-lab.org/_local/imagelab.tsukuba.ac.jp/ubuntu1004+opencv21/ARToolKitk/index-j.htmlGitHub - lentinjoseph/Artoolkit-on-Ubuntu-12.04: Artoolkit on Ubuntu 12.04に詳しい手順が載っているのだが、32bit版の手順だった。

64bit版の場合、「./Configure」の2番目の質問にnoと答えて、64bitを主張したら、以下のエラーになってビルドに失敗した。

/usr/src/linux-headers-3.2.0-36-generic/include/linux/types.h:13:2: 警告: #warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders" [-Wcpp]
cc -o ../../bin/videoTest videoTest.o  -L/usr/X11R6/lib -L../../lib -lARgsub -lARvideo -lAR -lglut -lGLU -lGL -lXi -lXmu -lX11 -lm -ljpeg
../../lib/libARvideo.a(video.o): In function `ar2VideoGetImage':
video.c:(.text+0x1b26): undefined reference to `ccvt_yuyv_rgb24'
collect2: ld はステータス 1 で終了しました

エラー内容でググってみたら、どんぴしゃの回答があったこれです。

patchファイルもこのページのpatchファイルだけでOKなので、これだけあててビルド。
ライブラリが足りない場合は以下をインストール。

$ sudo apt-get install freeglut3-dev libglew1.5-dev
$ sudo apt-get install libxmu-dev libxi-dev
$ sudo apt-get install libjpeg-dev

ビルド手順

$ tar xvfz ARToolKit-2.72.1.tgz
$ patch -p0 -d . < artk-yuv422-v4l2-2.72.1.20090801.patch
$ cd ARToolKit
$./Configure

# 質問には、最初だけ3と答えて後は、全部 n

$ make

# USBカメラをさして、起動

$ cd bin
$ ./simpleLite

ARToolKit/patterns にマーカのpdfが入っているので、カメラにpattHiro.pdfを写すと虹色キューブが表示される。