2008年03月02日

玄箱PROでwizdコンパイル成功!

この前玄箱PROの話したのいつだったっけ・・・
しばらく塩漬けにしていたwizdのコンパイルにやっと成功したので、その足跡をしるそうと思う。
でもでき方が怪しいなぁ・・・まずはソースをゲット

昔の玄箱はPPC製で、バイナリがどこかしら転がっていたんだけど今度の玄箱PROはバイナリがみつからない・・・ARM製品使う人はみんなコンパイルしてんの?

なんか気の遠くなるような話なんだけど、とりあえずバイナリが世の中にころがっていないのはしょうがない。wizd改造版と呼ばれている一番よく使われるソースをもらってこよう。

http://www.uranus.dti.ne.jp/~kikuchan/wizd/

↑からソースをゲットできる。

makeとやらを使ってみよう

ええと、linux上でコンパイルなんて始めてだぜ。ま、readmeみたら、ひとまずはソースが入ってるフォルダのトップに移動して「make」を実行すればいいだけらしい。なんだ、かんたんじゃん
で、実際やってみると・・・・

make: gcc: Command not found
なんかgccってのがないって言われたよ?

gccをインストールしてみよう

どうやらgccとはcコンパイラのことらしい。普通linuxには入ってるらしいんだけど、なんでこのdebian化した玄箱PROには入ってないの?ま、これは

sudo apt-get install gcc

とやれば解決するらしい。で、実行

source/wizd_main.c:13:20: error: stdio.h: No such file or directory
source/wizd_main.c:14:21: error: string.h: No such file or directory
source/wizd_main.c:15:21: error: stdlib.h: No such file or directory
source/wizd_main.c:16:20: error: unistd.h: No such file or directory
source/wizd_main.c:17:21: error: signal.h: No such file or directory
source/wizd_main.c:18:17: error: pwd.h: No such file or directory
source/wizd_main.c:19:17: error: grp.h: No such file or directory
source/wizd_main.c:21:23: error: sys/types.h: No such file or directory
source/wizd_main.c:22:23: error: sys/wait.h: No such file or directory
[...後略...]
うわ、何だよこれ!!!

開発キットを導入しよう

最近仕事でVC使うようになったからうっすらとわかる。これはインクルードファイルのフォルダが設定されてないからだ!VCでは*.hファイルを読み込むインクルードフォルダと*.libファイルを読み込むライブラリフォルダの設定が必要なんだもんな!きっとgccでも同じさ!

VCではインクルードファイルはVCをインストールしたフォルダ\includeに設定されていた。gccでは?どうやら、/usr/include配下らしい。今の俺の玄箱には、この配下にファイルは、ない・・・・

あれ?gccちゃんとapt-getしたよ?

ん〜。更にいろいろ調べてみると、どうやらこれらヘッダファイルは玄箱PROを購入したときについてきたCD-ROMの中に入ってるらしい。ああ、そんなCDあった気もした。でも、あれ部屋の奥にしまっちゃって今どこにあるかわからないんだよなぁ・・・

そんなときに朗報

http://www.kurobox.com/downloads/KuroboxPro/

↑にisoイメージがあったよ!これでなんとかなる!

実際、isoイメージをマウントしてみると、各種ヘッダファイルはdevelopment_kit\hddrootfs.tar.gzファイルを展開した/usr/include配下に入ってた。これを丸ごと玄箱にコピーすればヘッダファイルは無事準備完了だ。

libjpegを導入しよう


さて気を取り直してもういちどコンパイルだ!

source/wizd_resize_jpeg.c:22:21: error: jpeglib.h: No such file or directory

ん?何だコレ

今度はjpeglib.hというファイルがないらしい。じゃこれもどっかから導入するか・・・と思ったら結構みつからないのねこれ!いろいろ調べると

http://wave.iobb.net/blog/log/eid82.html

apt-get install libjpeg62-dev

でいけるらしいんだけど、なんでjpeglibって名前のファイルがないのにapt-getするのがlibjpegなんだよ紛らわしい!!

しかもlibjpeg62-devをapt-getしたあとlocate jpeglibで検索してもさっぱり検索されない。これはのちのちupdatedbコマンド実行すればOKってのがわかったからいいけど。

しかも、updatedbコマンドがわからなかった時に苦し紛れに

apt-get install libjpeg-dev

とかも実行してみたこともあり、いったいどのコマンドが正解だったかさっぱりわからん・・・いいのかこれで。

んで、こんなことをいろいろやったあとmakeを実行したら、やっとこさwizdwizd.conf.sampleというファイルができあがった!!ただ

warning: pointer targets in passing ...

っていう警告が山ほど出たんだけど、基本warningはきにしない方向で。

設置しよう

あとは↓のとおりに設定すればOK

  1. /usr/local/wizdに作成されたwizdバイナリをコピー sudo cp /usr/local/wizd ./wizd
  2. /usr/local/wizdにconfファイルのサンプルをコピー sudo cp /usr/local/wizd ./wizd.conf.sample
  3. そして名前変更 sudo mv /usr/local/wizd/wizd.conf.sample /usr/local/wizd/wizd.conf
  4. 編集 sudo vi /usr/local/wizd/wizd.conf 「document_root」列に/mnt/share/movie/と記述
  5. /mnt/share/movie/フォルダ作成。 mkdir /mnt/share/movie
  6. /mnt/share/movie/フォルダをゆるゆる権限にする chown nobody:nogroup /mnt/share/movie chmod 777 /mnt/share/movie
  7. スキンファイルコピー sudo cp -R ./skin/ /usr/local/wizd/skin
  8. 実行! sudo /usr/local/wizd/wizd
これで無事メディアプレイヤーから玄箱PROが見えたよ!あとは/mnt/share/movieフォルダにaviファイルをいっぱい置けばOKさ!

init起動がうまくいかない・・・


よ〜し、父さん調子に乗って/etc/init.d/wizdにwizd起動スクリプト置いて自動起動させちゃうぞ!
と意気込んだはいいんだけど、どうもこれがうまくいかない

http://tsuttayo.sytes.net/video/play/wizd/wizd-init.tar.gz

↑にwizdの起動スクリプトがあるんだけど、/etc/init.d/functionsなんて代物が存在しないとか、この行コメントアウトしてもwizdが即死するとか、いろいろ不具合が出ております。なんでだろ・・・?

この課題は次回

一応今回作成したwizdバイナリを貼り付けておく。[wizd]興味あるひとは落としてみて!玄箱PRO用だよ!
posted by LoyalTouch at 21:44| Comment(2) | TrackBack(0) | ハードウェア | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
ここの記事を参考にしてHDL4-G1.0でWizdのコンパイルが成功しました。
ありがとうございました。
Posted by Lied at 2008年04月11日 14:21
おお、お役に立てて何よりです。このブログが誰かに見られてることがわかったっていうのも嬉しいです。
Posted by the loyaltouch(管理人) at 2008年04月13日 14:51
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/88004398

この記事へのトラックバック