AppStoreで売っていたころは使っていなかったのだけれども、iPhoneアプリのreMailというのがGmailと連携して便利らしい。
今日、マイコミジャーナルの「Google買収のiPhone用メールアプリ「reMail」、Apacheライセンスでオープンソース化」という記事を読んで、コード公開されたのならビルドしてみるか、と思い立ってビルドにチャレンジしてみた。
まず、Google Codeの中で remail-iphone プロジェクトとして公開されているということらしいので、さっそくWebを読んでみた。
ビルドには、XCodeとgit, mercurial / hgが必要ということなので、早速準備します。
XCodeとgitは既に私のマシンにはインストールされているのでスルー。gitもmercurial / hgもバージョン管理システムで、要はGoogle Codeからソースコードを持ってくるのに使うみたいだ。
まず、ターミナルを立ち上げ、
$ hg clone https://remail-iphone.googlecode.com/hg/ remail-iphone
として、ソースコードを取ってくる。
次に、
$ cd remail-iphone
$ sh pull_dependencies.sh
とコマンドを打って、XCodeでビルドする準備をするのだが、いくつか問題があった。
まず、私が作業した時点でopenssl.orgが落ちていたので、
$ vi build-crypto-deps/openssl/openssl.sh
して、
if [ ! -e openssl-0.9.8k.tar.gz ]; then
# curl -O http://www.openssl.org/source/openssl-0.9.8k.tar.gz
curl -O ftp://ftp.infoscience.co.jp/pub/Crypto/SSL/openssl/source/openssl-0.9.8k.tar.gz
fi
といった具合にミラーから落とすようにして対処した。
が、私の環境( Mac OS X Snow Leopard 10.6.2 / XCode 3.2.2 )ではcylus-saslのコンパイルでErrorを吐いてしまう。
make: *** [digestmd5.o] Error 1
こんなメッセージが出た。
で、調べてみたところ、
$ cd /usr/libexec/gcc
$ sudo ln -s i686-apple-darwin10 i686-apple-darwin9
として、Leopard (10.5)からSnow Leopard (10.6)になったときに変更されたgccのパスの問題を吸収してやれば良いみたいだ。
上記のpull_dependencies.shは、真面目に書いて無くってmake cleanしてくれないので、失敗したあと問題を上記のように修正してやってもビルドしかけのゴミが残ってしまっていたりする。いちいちmake cleanしかけたんだけど、面倒になって、mailcoreとthree20とremail-iphoneの3つのディレクトリを捨てて、再度手順を最初からすることにした。
ということで、まとめると、
1. ソースコードをhgで取ってくる
2. viでopensslを取ってくるURLを変更
3. libexecのgccの中にsymbolic linkを張ってやる
4. pull_dependencies.shを実行
5. ReMailIPhone.xcodeprojをダブルクリックしてXCodeを立ち上げ、識別子とコード署名を変更する。
6. 僕は Device – 3.0 | Debug で”ビルドと実行”をクリックしてビルド
という手順でiPhoneにreMail for Gmailをビルドして放り込むことができました。
日本語に翻訳して無償で配るかなぁ。。。
REMAIL
トラックバック先参照。
こういうオープンソースのがあると、開発ライセンスが活きてきます。
手順も簡単そうなので週末にでも放り込んでみようかな。
iPhoneのメーラは、唯一「フ…
[…] 犬飼会長、海外組招集へ“全力”尽くす / スポーツナビnewsing:1 yoshi’s blog » reMail for Gmailをビルドしてみたはてブ:6 受験前1か月の修士課程受験生に薦める本。 – 住田 朋久 / […]
ありがとうございます。
無事My iPhoneに放り込むことができました。
ほかにオープンソースのアプリってあるのかな?
これを機にいろいろ勉強させていただきます。
配布期待しています!
是非とも知恵をお貸しください。
記事を拝見させていただき、私の環境でもビルドを試そうとしているのですが
ビルドの準備段階でつまずき、かれこれ丸一日以上さまよっています。
書かれている通りにシェルを実行するのですが、おそらくopensslのmake中に
以下のエラーが発生し、xcodeで開いてみるとやはりそれらのファイルの参照ができておりません。
是非ご教授いただければと思います。
/usr/bin/ranlib ../../libcrypto.a || echo Never mind.
/usr/bin/ranlib: file: ../../libcrypto.a(rc4_fblk.o) has no symbols
/usr/bin/ranlib: file: ../../libcrypto.a(rand_eng.o) has no symbols
/usr/bin/ranlib: file: ../../libcrypto.a(rand_win.o) has no symbols
/usr/bin/ranlib: file: ../../libcrypto.a(rand_os2.o) has no symbols
▼開発環境
OS : MacBook OS X 10.6.3 snow leopard
SDK : iPhone SDK 3.2.2
よろしくお願いします。