2009-10-31

Android SDK

Android SDK をダウンロードしてエミュレータを Fedora で起動してみました。64bit 環境でも動作するかどうか、念のためチェックしましたが、肝心のエミュレータが動作しなかったので、32bit 環境で試した例を紹介します。下記のサイトから、Linux (i386) 用の圧縮ファイルをダウンロードします。

[1] Android SDK | Android Developers

ダウンロードしたファイルを展開して、サブディレクトリ tools 内にある android を起動します。

$ tar zxvf android-sdk_r3-linux.tgz
android-sdk-linux/
android-sdk-linux/platforms/
android-sdk-linux/SDK Readme.txt
android-sdk-linux/tools/
...
android-sdk-linux/tools/traceview
android-sdk-linux/add-ons/
$ cd android-sdk-linux/tools
$ ls
NOTICE.txt ddms hierarchyviewer mksdcard zipalign
adb dmtracedump hprof-conv source.properties
android draw9patch layoutopt sqlite3
apkbuilder emulator lib traceview
$ ./android &

Android and AVD Manager のウィンドウが開きますので、まず Settings の画面で、Misc のチェックボタンにチェックを入れておきます。これは環境によっては必要がない操作だと思います。

次に Available Packages を選びダウンロードするデータを選択し Install Selected をクリックします。

Install Accepted ボタンをクリックすると、ファイルのダウンロードが始まります。

選択したファイルのダウンロードとインストールが終わっても、自動的にはウィンドウが閉じないので Close をクリックして閉じます。

次に Virtual Device で、New... をクリックして、仮想デバイスの定義ファイル(AVD ファイル)を作成します。

test という名前をつけて、以下の様にしてみました。Create AVD ボタンをクリックします。

AVD ファイルが作成されたというメッセージが出るので OK ボタンをクリックして閉じます。

作成した test を選択して、Start... ボタンをクリックして、エミュレータを起動します。

起動オプションを選択する画面が出ますが、とりあえず何も選択せず、Launch ボタンをクリックします。

エミュレータが表示され、しばらく待つと起動が完了し、以下のような画面になります。

試しに Browser を起動して Google のサイトを表示してみました。

ブックマークしたページが、以下の様に一覧で表示されます。

手持ちの Windows Mobile 携帯をまだ使いこなしていないというのに、新しいものが出ると使ってみたくなります。エミュレータのおかげで、お金の浪費は避けられますが、Windows Mobile の場合と異なり、Linux 上でも開発ができるのはちょっと嬉しいです。

じっくりこの SDK で評価してみて、日本で魅力的な Android 搭載の携帯が発売されれば、それなりに乗り換えを検討してみようと思います。
 

2009-10-29

R 2.10.0


10 月 26 日付けで R 2.10.0 がリリースされていました。

[1] The Comprehensive R Archive Network
 

2009-10-24

GCC のランタイムパッケージ

Get MinGW Cross Compiler at SourceForge.net. Fast, secure and Free Open Source software downloads
Fedora における MinGW クロスコンパイル環境でビルドしたプログラムを Windows 上で手軽に実行できるように、GCC のランタイムパッケージのインストーラを Windows 用に作成し、公開しました。
libgcc_s_sjlj-1.dllmingwm10.dll を収録していて、デフォルトで、C:\Program Files\Common Files 内に、MinGW\bin というフォルダを作ってインストールします。GTK+ のランタイムパッケージはそうではありませんが、Qt や wxWidgets などは、これらの DLL に依存しています。

libgcc-4.4.0-001

2009-10-18

【備忘録】GCC のランタイムライブラリの扱い

Qt や wxWidgets を利用したクロスコンパイルしたバイナリは、mingwm10.dll や GCC のランタイムライブラリ libgcc_s_sjlj-1.dll に依存しています。この2つのファイルについては、ランタイムライブラリのインストーラとして別に作成しておいた方が、Qt や wxWidgets など C++ 系のランタイムライブラリのインストーラを用意する際に運用がしやすいのですが、配布する際のライセンスをどうすればいいのか、いまひとつはっきりしませんでした。

Windows 上で実行する場合、mingwm10.dll は問題がないとしても、GCC のライセンスは GPL に従っているから、libgcc_s_sjlj-1.dll の扱いをどうするか悩みます。

調べてみると、GCC のランタイムライブラリについては、ちゃんと例外条項がありました。これですっきりしました。BSD 系 UNIX が gcc を利用していても BSD ライセンスに従うことができるのは、もしかしてこの例外条項のおかげなのかな?まだまだ勉強不足です。

とにかく、近日中に Windows 用ランタイムライブラリのインストーラをいくつかか追加しようと考えています。

[1] GCC Runtime Library Exception - GNU Project - Free Software Foundation (FSF)
[2] ライセンス(ライトニングトークつづき) - bero の日記
 

2009-10-17

【備忘録】インターネットブラウザのシェア

ブックマークしても、たくさんの中に埋もれてしまって探し出せなくなるので備忘録に。Firefox はよくがんばっています。

[1] Market share for browsers, operating systems and search engines
[2] Browser market share - Top Browser Share Trend
 

2009-10-15

さわらびゴシック 20091015

SourceForge.JP
わらびゴシックフォント 20091015 がリリースされましたので Fedora 11 用 RPM パッケージを作成しアップロードしました。漢字グリフが 1200 文字になりました。

さわらびフォント

2009-10-14

Qt でクロスコンパイル

Get MinGW Cross Compiler at SourceForge.net. Fast, secure and Free Open Source software downloads
MinGW のクロスコンパイル用パッケージ、mingw32-qt のインポートライブラリ libQt4* に、libQT* で始まる名前のシンボリックリンクを加えたところ、Hello World! のプログラムをクロスコンパイルすることができました。編集を加えた RPM パッケージを以下にアップロードしました。

- mingw32-qt-4.5.2-1.1

前回のサンプルをクロスコンパイルしたバイナリを wine 上で実行してみたところ、qmake-qt4make でコンパイルができたものの。日本語フォントの表示ができなかったので、プログラム hello_qt.cpp を若干変更しました。

#include <QApplication>
#include <QPushButton>
#include <QTextCodec>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));

QPushButton hello("こんにちは、世界!");
hello.setWindowTitle("Hello World!");

hello.show();
return app.exec();
}

コンパイルは、前回の Fedora ネイティブ用のコンパイルと同様、qt-devel に収録されている /usr/bin/qmake-qt4 を利用しますが、クロスコンパイルで利用するためには、mingw32-qt-qmake もインストールしておく必要があります。その上で QMAKESPEC 環境変数をクロスコンパイル用の情報を参照するように設定します。
make すると、バイナリはサブディレクトリ release に出力されます。

[bitwalk@localhost qt_hello]$ export QMAKESPEC=fedora-win32-cross
[bitwalk@localhost qt_hello]$ qmake-qt4 -project
[bitwalk@localhost qt_hello]$ qmake-qt4
[bitwalk@localhost qt_hello]$ make
make -f Makefile.Release
make[1]: ディレクトリ `/home/bitwalk/work/qt_hello' に入ります
i686-pc-mingw32-g++ -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-bu
ffer-size=4 -mms-bitfields -O2 -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DE
BUG -DQT_GUI_LIB -DQT_CORE_LIB -I"/usr/i686-pc-mingw32/sys-root/mingw/include/Qt
Core" -I"/usr/i686-pc-mingw32/sys-root/mingw/include/QtGui" -I"/usr/i686-pc-ming
w32/sys-root/mingw/include" -I"." -I"release" -I"/usr/lib64/qt4/mkspecs/fedora-w
in32-cross" -o release/hello_qt.o hello_qt.cpp
i686-pc-mingw32-g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-ru
ntime-pseudo-reloc -Wl,-s -o release/qt_hello.exe release/hello_qt.o -L"/usr/i6
86-pc-mingw32/sys-root/mingw/lib" -lQtGui -lQtCore
make[1]: ディレクトリ `/home/bitwalk/work/qt_hello' から出ます
[bitwalk@localhost qt_hello]$ ./release/qt_hello &
[2] 2680
[bitwalk@localhost qt_hello]$ err:wintab32:X11DRV_LoadTabletInfo Unable to initi
alize the XInput library.
fixme:win:FlashWindowEx 0x61dd98


wine で実行すると、日本語フォントはきれいではありませんが、とにかく表示されています。

実行に必要な DLL と一緒に Windows へコピーして実行してみます。



コマンドプロンプトのコンソールも表示されてしまいますが、実行できます。また、フォントは wine で実行した時に比べるとずっとまともです。

より詳細な情報は、後日 MinGW クロスコンパイル - Workshop Complex at bitWalk にまとめる予定です。

参考サイト
[1] VikiWiki - Qt
[2] qmake のコンセプト
 

2009-10-12

【備忘録】Qt で Hello World!

Qt ライブラリを用いてクロスコンパイルを、という記事を書きたかったのですが、若干の問題があって、今週は時間切れです。そこで、Qt4 を利用した Fedora ネイティブな Hello World! プログラムのコンパイル例を備忘録として紹介しておきます。

#include <QApplication>
#include <QPushButton>
#include <QTextCodec>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
QPushButton hello("こんにちは、世界!");
hello.setWindowTitle("Hello World!");

hello.show();
return app.exec();
}

コンパイルは、qt-devel に収録されている /usr/bin/qmake-qt4 を利用します。出力されるプログラム名は、使用しているディレクトリ名に依存します。

[bitwalk@localhost qt_hello]$ qmake-qt4 -project
[bitwalk@localhost qt_hello]$ qmake-qt4
[bitwalk@localhost qt_hello]$ make
g++ -c -m64 -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector -
-param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W -D_REENTRANT -DQT_NO_DEBUG
-DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib64/qt4/mkspecs/linux-g++-64 -I. -I/usr/inc
lude/QtCore -I/usr/include/QtGui -I/usr/include -I. -I. -o hello_qt.o hello_qt.c
pp g++ -m64 -Wl,-O1 -o qt_hello hello_qt.o -lQtGui -lQtCore -lpthread
[bitwalk@localhost qt_hello]$ ./qt_hello &


クロスコンパイルをするには、QMAKESPEC 環境変数を適切に設定すればできると思っていたのですが、(多分)mingw32-qt の不備でできませんでした。Qt を再コンパイルをするには、ちと時間がかかるので、クロスコンパイルについては次回に。

参考サイト
[1] Qt 4.4.3: Qt Tutorial 1 - Hello World!
 

2009-10-04

Win32 用 GTK ランタイムライブラリ 002

Get MinGW Cross Compiler at SourceForge.net. Fast, secure and Free Open Source software downloads

Fedora における MinGW クロスコンパイル用パッケージをベースにした、Windows 用 GTK2 のランタイムパッケージのインストーラをアップデートしました。

今回はパッケージのバージョンをアップデートしただけです。そのため依然として必要最低限のパッケージしか収録していません。(厳密には、ランタイム用途には不要なファイルも全部含まれています。)

- gtk2-2.16.6-002-20091004.exe

2009-10-03

【備忘録】Evolution

間では、大多数が Microsoft Outlook を、電子メールのクライアントに使っています。会社では、私も Outlook を使っています。

一方、自宅の Linux では(Netscape Mail の時代から)ずっと Thunderbird を使ってきました。しかし、Fedora における Gnome デスクトップの標準メーラーは Evolution なので、Thunderbird は標準でインストールされず、またアプリケーションのリンクで Thunderbird では使い難い部分があったため、以前 Evolution に乗り換えようとした時がありました。しかし当時は Evolution がセキュアな POP3/SMTP に対応しておらず、使用を諦めてしまいました。

もちろん、今では Evolution もセキュアな POP3/SMTP の設定ができるので、Windows のトラブルがらみで Linux も再インストールしたのを契機に思い切って移行してみました。

備忘録として Evolution に関連する情報源を集めようとしましたが、これだというサイトがありません。とりあえず、少しだけリンクをまとめました。

[1] Most Popular Email Clients
ちなみに、第2位の米国 Yahoo! Mail はこんな感じで、結構使いやすいです。やたら迷惑メールばかり来ますが…。

[2] Evolution
[3] Novell Evolution - Wikipedia
[4] Ubuntu: Outlook ExpressのメールをEvolution メールに移行する:Linux つれづれ日記:So-net blog
[5] Outlookの代わりになるWindows版「Evolution」 - GIGAZINE
[6] Setting Up Gmail With Evolution In Ubuntu Linux
英語ですが、親切な説明です。

Watch Setting Up Gmail With Evolution In Ubuntu Linux in Educational & How-To  |  View More Free Videos Online at Veoh.com