2009年9月28日月曜日

Eclipseでデバッグ時に外部ソースファイルを参照先として設定する

・Ubuntu 9.04
・Eclipse 3.5 (日本語化)

デバッグ実行(デバッグパースペクティブを開いているとき)。
「デバッグ」ビュー内で、デバッグ目的のアプリケーションを右クリック、「ソース・ルックアップの編集」をクリックする。
「追加」ボタンにて外部のソースコードを検索パスに追加する。

これで、ストップをかけたときに、アプリケーションには含まれないソース(例えば、ライブラリやフレームワークのソース)を勝手に探してきてくれます。


この前、取得・ビルドしたAndroid LiveCDとそのソースコードを使って、アプリよりも下の層まで参照できるようになりました。

2009年9月26日土曜日

UbuntuでAndroid(cupcake) x86 LiveCDをビルド

参考というより、そのまんまですが、Android LiveCDとそのソースが欲しかったので試してみました。

・Ubuntu 9.04

準備
基本的には、こちらに書いてある手順の通り環境を整えます。
私の場合は、以下で一通りインストールできました。
$ sudo apt-get install git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind
$ mkdir bin
$ curl http://android.git.kernel.org/repo > bin/repo
$ chmod a+x bin/repo
$ source .profile

※Androidのページでは、「sun-java5-jdk」が推奨されています。私は、新しいもの好きなので「sun-java6-jdk」を使っています。とりあえず、今回は問題ありませんでした。


ソース取得
リリース版をGetします。
$repo init -u git://git.android-x86.org/platform/manifest.git -b android-x86-v0.9
$repo sync

ビルド
$ make -j1 iso_img TARGET_PRODUCT=eeepc
※ 『-j1』の数字部分をCPUのコア数に合わせるとビルドが早くなるらしい。例えばDual Coreなら『-j2』、Quad Coreなら『-j4』。

out/target/product/eeepc/eeepc.iso
が出来上がります。

以上。

2009年9月22日火曜日

美術館、図書館、いつもの散歩のこと。

西洋美術館に行く。わりと好きな美術館だ。
HASHIの「未来の原風景」も好きです。

それから図書館に行き、ギリシア神話とローマ神話について本を読んだ。ついでにエジプト神話についても。そうそう、昨日は旧約聖書と新約聖書についても読んでたっけ。

こういうのは、予備知識があるのとないのとでは、楽しみの感じ方が変わってくるのだろう。
まあ、どっちが良いとは言わないけど。

興味があれば調べる。
これだけです。

2009年9月18日金曜日

DebianでEclipseを使うときに"Unpack facility not configured"とか"Cannot connect to KeyStore"とか出る場合の対処法

・Debian 5.0.3
問題編
sun-javaパッケージがデフォルトでは見つからなかったので、SunのサイトからJDK6をダウンロードしてインストールする。
それでもって、Eclipse 3.5(GALILEO)をダウンロードしてきて起動。これは、すんなり成功。
しかし、プラグインを追加しようと思って、「新規ソフトウェアのインストール」をやってみたところ、
"Unpack facility not configured"
とエラーが発生して、上手くプラグインをインストールできない。
それではと、デフォルトで見つかるOpenJDKを入れてみたけれど、OpenJDKではEclipseすら起動しない。

そこで、「contrib」と「non-free」を有効にすればsun-javaが見つかるようになることがわかったので、sun-java6-jdkをインストールしてみる。
Eclipseは、まあ普通に起動する。
しかし、プラグインを追加しようとすると、またしても
"Cannot connect to KeyStore"
とエラーが発生して、やっぱりインストールに失敗する。

解決編
(1)Synapticパッケージ・マネージャを起動する。
(2)「設定」→「リポジトリ」を開く。
(3)(contrib)と(non-free)にチェックを入れる。
(4)再読込
(5)「openjdk-6-jre」と「sun-java6-jdk」をインストール。
   Synapticは終了
(6)Root Terminalにて、以下のコマンドを入力。
 # update-java-alternatives -s java-6-sun

以上で普通に使えるようになる(はず)

2009年9月17日木曜日

DebianでGtk版WebKitをビルド

WebKitのビルドに挑戦してみました。
  • Debian 5.0.3 (netinstall CDでインストールしました。)
準備
以下のパッケージを「(ルートターミナルで)apt-get」あるいは「Synaptic パッケージ・マネージャ」からインストールします。
・subversion
・build-essential
・libxml2-dev
・libxslt1-dev
・libsqlite3-dev
・bison
・flex
・gperf
・autoconf
・libtool
・libgtk2.0-dev
・gtk-doc-tools
・libicu-dev
・libenchant-dev
・libgail-dev
・libsoup2.4-dev
・libXt-dev
・libgstreamer-plugins-base0.10-dev

実験版・不安定版パッケージにアップグレード
WebKitは現状の最新安定版だけではビルドできません。いくつかのパッケージは、より新しいexperimental(実験版)、unstable(不安定版)にアップグレードする必要があります。

ルートターミナル(もしくはsu)にて、/etc/apt/source.listを編集します。
# gedit /etc/apt/source.list
以下のような2行をコピー&ペーストし、

 deb http://ミラーサーバ/debian/ lenny main
 deb-src http://ミラーサーバ/debian/ lenny main

下記4行に書き換えます。

 deb http://ミラーサーバ/debian/ unstable main
 deb-src http://ミラーサーバ/debian/ unstable main
 deb http://ミラーサーバ/debian/ experimental main
 deb-src http://ミラーサーバ/debian/ experimental main

追加したら、上書きして閉じます。

以下のコマンドにて、experimental版を優先にしてアップグレードします。
# apt-get update
# apt-get -t experimental upgrade
# apt-get -t experimental install libgtk2.0-dev
# apt-get -t experimental install libsoup2.4-dev
※何やら聞かれる場合がありますが、基本的にはデフォルトのまま「OK」でよいです。
ビルドに必要なパッケージをもうひとつインストールします。

# apt-get install libgeoclue-dev

WebKitソースコードの入手
以下のコマンドを入力し、SVNリポジトリより最新版をチェックアウトします。
$ svn co http://svn.webkit.org/repository/webkit/trunk


Gtk版WebKitのビルド
$ cd trunk
$ WebKitTools/Scripts/update-webkit
$ WebKitTools/Scripts/set-webkit-configuration --release
$ WebKitTools/Scripts/build-webkit --gtk


GTK版WebKitの実行
$ WebKitBuild/Release/Programs/GtkLancher

以上。(けっこう試行錯誤しました。)

2009年9月8日火曜日

UbuntuでOpenfire(グループチャットサーバ)構築

XMPP対応のグループチャットサーバを構築します。
  • Ubuntu 9.04
  • openfire 3.6.4
Openfireインストール
javaのランタイムが必要なので、インストールしていない場合は、以下のコマンドによりインストールします。
sudo apt-get instal sun-java6-jre
テンポラリなディレクトリを作成します。
mkdir temp/openfire
cd temp/openfire
以下のコマンドを入力し、Openfireパッケージのダウンロードとインストールを行います。
wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.6.4_all.deb
sudo dpkg -i openfire_3.6.4_all.deb
※改行されていますが、2つのコマンドです。

初期設定
管理Webページ(http://localhost:9090)にアクセスし、初期設定を行います。
全てデフォルトで良いです。管理Webページへのパスワードを決める必要があるので、考えておきましょう。
「Setup Complete!」の画面まで進めば初期設定は完了ですが、そのまま進んでも管理Webページにログインできない(バグと思われる)ので、以下のコマンドを入力し、一度Openfireを再起動させます。
sudo /etc/init.d/openfire restart
再起動確認後、再度管理Webページへアクセスします。
ユーザは『admin』で、パスワードは初期設定で入力したパスワードを入れます。

使い方(最低限)
まずは、ユーザアカウントを作成しましょう。管理Webページの「Users/Groups」→「Users」→「Create New User」にてユーザアカウントを作成できます。

クライアントについては、Openfireと相性の良いSparkを使うのが良いでしょう。
XMPPに対応したソフトであれば、大抵簡単に接続できるはずです。

プラグインを入れれば、もっと色々な使い方ができるかもしれません。が、また今度。

以上です。

2009年9月7日月曜日

UbuntuでDarwin Streaming Server(動画ストリーミングサーバ)の構築

RTSPサーバであるDarwin Streaming Serverを構築し、動画をストリーミング再生して遊んでみます。
  • Ubuntu 9.04
  • Darwin Streaming Server 6.0.3
Darwin Streaming Serverのインストール
適当なテンポラリディレクトリを作ります。
mkdir temp/dss
cd temp/dss
以下のコマンドを入力し、インストールパッケージのダウンロードとインストールを行います。
wget http://static.lstoll.net/dss/DarwinStreamingSrvr6.0.3-Linux.deb.gz
gzip -d DarwinStreamingSrvr6.0.3-Linux.deb.gz
sudo dpkg -i DarwinStreamingSrvr6.0.3-Linux.deb
この方法でインストールを行った場合、Web管理画面のユーザ名とパスワードは『admin』に設定されます。

管理画面(http://localhost:1220)にアクセスし、初期設定を行います。
基本的には全てデフォルトのままで良いです。(自分で考えるのはMP3ストリーミングのパスワードぐらいです)

デフォルトの設定であれば、/usr/local/movies/ディレクトリにストリーミング用のメディアファイルを置くように設定されます。(後で、管理画面から設定変更も可能です)

動作確認
/usr/local/movies/ディレクトリ以下にサンプルの動画が格納されていますので、RTSPストリーミング再生機能を持つQuickTime PlayerやVLC Media Palyerで再生確認を行います。
(※Darwin Streaming Serverは自動起動するように設定されます。)

VLC Media Player1.0.1の場合は、「メディア」→「ネットワークストリームを開く」をクリックし、ダイアログにて「プロトコル」に『RTSP』、「アドレス」に『【サーバのIPアドレス】/【ファイル名】』(例えば、192.168.0.2/sample_h264_300kbit.mp4)を入力して「再生」します。


RTSP用コンテンツ作成方法
Windows上で、お手持ちの動画ファイルをRTSP用にエンコードする方法についてです。
RTSP用のコンテンツは、hint付きMP4(H.264,AAC)にエンコードして作成する必要があります。方法としては、とりあえず2パターンを紹介します。
(※『hint』情報というのは、 ストリーミング再生を行うためにプリロードされるインデックスみたいな情報だと思います。違うかも。)
(1)MediaCoderを使用してhint付きMP4にエンコードする。
(2)MP4ファイルにMP4Box.exeを使用してhint情報を付加する。(他のエンコードツールを使ってエンコードした場合など)
どちらの場合でもMediaCoderをインストールすれば、ほぼ事足ります。

(1)MP4Box.exeによるHint情報付加
MP4Box.exeは、MediaCoderのインストールフォルダ下のtoolsフォルダにあります。
コマンドプロンプトで以下のようなコマンドを入力して利用します。(input.mp4にhintを付けてoutput.mp4という名前で出力する例です。)
MP4Box.exe -hint -add input.mp4 -new output.mp4
(実際には、それぞれ絶対パスあるいは相対パスで指定する必要があります。)

(2)MediaCoderによるhint付きMP4作成
大雑把な設定内容ですが、「Video」を『H.264』、「Audio」を『FAAC』、「Container」を『MP4』を選択します。
さらに「MP4Box」タブの「Advanced」をクリックし、「Hint the file for RTP/RTSP」を『true』にし、エンコードを行います。

出来上がったファイルを/usr/local/movies/に置いて、準備完了です。

かなり手抜きになりましたが、以上です。

2009年9月4日金曜日

UbuntuでEclipseによるOpenGLプログラム開発環境の構築

Ubuntu上でOpenGL(GLUT)プログラムをコンパイル・実行できる環境の構築と、Eclipse上でのGLUTプログラム開発環境の構築についてです。
  • Ubuntu 9.04
  • sun-java6-jdk
  • eclipse 3.5
OpenGL(GLUT)のインストール
端末を開き、apt-getコマンドでGLUT関連パッケージをインストールします。
sudo apt-get install freeglut3 freeglut3-dbg freeglut3-dev
あるいは、「システム」→「システム管理」→「Synapticパッケージ・マネージャ」より、
クイック検索に『glut』と入力してパッケージを探す。

GLUTプログラムのコンパイル方法
例えば、program.cをコンパイルする場合は、以下のようにリンカーオプションを付けてをコンパイルする。
gcc -lglut -lGLU -lGL program.c
ひとまず、以下で公開されているサンプルプログラムがコンパイルできることを確認します。

Eclipse環境の準備
jdkをインストールします。
sudo apt-get install sun-java6-jdk
eclipse.org(http://www.eclipse.org/)より、eclipse SDKをダウンロードします。
「Download Eclipse」というリンクより、(私の場合は)『eclipse classic 3.5.0』をダウンロードしました。

(何となく慣例で)/usr/local以下に展開します。
sudo tar xvzf eclipse-SDK-3.5-linux-gtk.tar.gz -C /usr/local/
自分の所有にパーミッションを変更します。※96inuというユーザであったとします。
sudo chown -R 96inu:96inu /usr/local/eclipse
eclipseを起動させます。
/usr/local/eclipse/eclipse
まずやることは、eclipseへのプラグインインストールです。
eclilpseのメニューの「Help」→「Install New Software...」より、
「Programming Languages」の「Eclipse C/C++ Development Tools」をインストールします。
一旦eclipseを閉じます。

日本語化のために、http://mergedoc.sourceforge.jp/より、peiadesの最新版をダウンロードする。
peliadesをeclispeディレクトリに解凍する
unzip pleiades.zip -d /usr/loca/eclipse/
eclipse設定ファイルを開く
gedit /usr/loca/eclipse/eclipse.ini
最後に行を加えて、下記内容を入力し、上書き保存。
-javaagent:/usr/local/eclipse/plugins/jp.sourceforge.mergedoc.pleiades.jar
再びelipseを起動
/usr/local/eclipse/eclipse
EclipseでGLUTプログラミング
新規プロジェクトの作成にて、「C プロジェクト」を選び、「実行可能」→「Hello World ANSI C プロジェクト」を作成する。
自動生成されたソースを編集し、GLUTなプログラムに書き換える。

ビルドを行う前に、プロジェクトのプロパティを開きます。(作成したプロジェクトを右クリックして「プロパティ」をクリック)
「C/C++ビルド」→「設定」を開き、「GCC C Linker」の「ライブラリー」に
glut
GLU
GL
を追加します。
これで、GLUTプログラムのビルド・実行ができます。

以上です。