新・カーナビ作るぜ!(1)環境設定〜moblin編〜

とりあえず、作った地図ビューアはtsmapと命名しました。tsmap = Touch Screen/TechStrom MAP viewerです。で、このtsmapのための環境講地区です。簡単に環境構築と書いてありますが、いろんな場合があります:

  • moblin上にtsmapを動かす環境を作る
  • moblin以外でtsmapを動かす環境を作る
  • moblin上で開発環境を作る
  • moblin以外で開発環境を作る

とりあえず、moblin上およびそれ以外でtsmapを動かす環境についてまずは書いていきます。

tsmapを動作させるのに必要な物は

  • postgresql + postgis:地図データ保持・管理のため
  • mapnik:地図データから地図画像の生成
  • clutterライブラリ:UIの根本

などです。実際には、これらが依存する物が他にも必要になってきます。

moblinにはclutterはあるけどpostgresql/postgisがなく、fedoraやCentOS(RHEL)だとclutterがないので、用意する必要があります。mapnikについては、fedoraなんかにはあるんですが、バージョンが古いので別途作りなおし。

なお、postgresqlは8系なら大丈夫かと。私は8.3を使っています。mapnikは0.6を、clutterは0.9.2の20090515版です。clutterについては、同じ0.9.2でもこのあとAPIが若干変更されているようで、これより新しいと動かないケースもあります。

moblin v2 beta編

まずは、普通にインストール。ちなみに、moblinはatomかcore2duoじゃないと動かないとの話も。私は、LenovoのIdiapad S10eを使っています。DebvelopmentベースのWeekly版もあるようですが、clutterのバージョンで問題がでるかも。

とりあえずは、普通にアップデート。developmentを有効にしなければ問題はないはず。
# yum update

fedora.repoを入手しておきます。足りない部分を全部ビルドすると面倒なのでmoblinのベースとなっているFedora10から拝借するため。releaseverは10に変更し、勝手にいろんな物が入らないように、enableは0にしておく。実際には、/etc/yum.repos.d/fedora10.repoに以下だけ書いてあればOKかと。

[fedora]
name=Fedora 10 - $basearch
failovermethod=priority
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/10/Everything/$basearch/os/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-10&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
まずは、日本語化:
# yum --enablerepo=fedora groupinstall "japanese support"
mapnikに必要な物を順次インストール。cairommから。
# yum --enablerepo=fedora install cairomm
postgresqlとgdalはfedora10のは依存関係的に面倒なので、moblin用にbuild(下にまとめておいてありす)しました。が、それぞれに必要な物は、fedoraから。
# rpm -ivh postgresql-libs-8.3.4-1.1.moblin.i386.rpm
# yum --enablerepo=fedora localinstall gdal-1.5.3-1.moblin.i386.rpm
Installing:
 gdal                  i386         1.5.3-1.moblin                       gdal-1.5.3-1.moblin.i386.rpm
                                                                                         19 M
Installing for dependencies:
 cfitsio               i386         3.100-1.fc10                         fedora         1.4 M
 geos                  i386         3.0.1-1.fc10                         fedora         482 k
 giflib                i586         4.1.6-9.13.moblin2                   moblin          41 k
 hdf5                  i386         1.8.1-2.fc10                         fedora         1.5 M
 libgeotiff            i386         1.2.5-2.fc10                         fedora         721 k
 libgfortran43         i586         4.3.3_20081022-14.12.moblin2         moblin         198 k
 netcdf                i386         4.0.0-1.fc10                         fedora         575 k
 ogdi                  i386         3.2.0-0.12.beta2.fc10                fedora         272 k
 proj                  i386         4.6.1-1.fc10                         fedora         161 k
 unixODBC              i386         2.2.12-9.fc10                        fedora         962 k

=略=
次にboostライブラリ。これは、moblinにあります。
# yum install boost
=略=
Dependencies Resolved

==============================================================================================
 Package            Arch             Version                         Repository          Size
==============================================================================================
Installing:
 boost              i586             1.37.0-3.10.moblin2             moblin             2.8 M
Installing for dependencies:
 libicu             i586             4.0-5.61.moblin2                moblin             6.6 M
=略=
続いて、mapnikおよびpostgresqlのサーバ部分をインストール。それぞれ自ビルド。
# yum --nogpgcheck localinstall mapnik-0.6.0-3kf.i386.rpm
# yum --nogpgcheck localinstall postgresql{,-server}-8.3.4-1.1.moblin.i386.rpm
=略=
postgisはfedoraのを拝借:
# yum --enablerepo=fedora install postgis
Dependencies Resolved

==============================================================================================
 Package                 Arch            Version                        Repository       Size
==============================================================================================
Installing:
 postgis                 i386            1.3.3-4.fc10                   fedora          935 k
Installing for dependencies:
 java-1.5.0-gcj          i386            1.5.0.0-22.fc10                fedora          132 k
 java_cup                i386            1:0.10k-1                      fedora          175 k
 jpackage-utils          noarch          1.7.5-1.6.fc10                 fedora           63 k
 libgcj                  i386            4.3.2-7                        fedora           19 M
 sinjdoc                 i386            0.5-7.fc10                     fedora          786 k
 zip                     i586            2.31-9.148.moblin2             moblin          119 k
=略=
postgresqlの設定を行います。
# chkconfig --level 345 postgresql on
# service postgresql initdb
# service postgresql start
で、mapnikで地図画像作成時に必要となるアイコンおよび世界の基本図形と地図データの登録に必要となるosm2pgsqlをいれます。
# yum --nogpgcheck localinstall osm-symbols-1.0-1kf.noarch.rpm osm-world_boundaries-1.0-1kf.noarch.rpm
# yum --nogpgcheck localinstall osm2pgsql-0.66-1.3kf.16215.moblin.i386.rpm
地図データそのものは、planet.openstreetmap.org等から自前で入れて貰ってよいのですが、面倒なかたむけにpostgresのデータをダンプしてRPM化したものがこちら:
# yum --nogpgcheck localinstall osm-postgis-japan-0.20090624-1kf.noarch.rpm
あとは、tsmap本体を入れれば、とりあえずは動くはず?
# rpm -ivh tsmap-0.6-1.i386.rpm
※エラー処理とかかな〜り適当なところが多いのでいきなり落ちたりしますが、あしからず。

moblin編だけで長くなったので、とりあえず、ここまで。

自ビルド一式

i386バイナリ:tsmap-moblin.md5sum

src.rpm:tsmap-moblin-src.md5sum

Posted by TechStrom on Monday, July 13, 2009