新・カーナビ作るぜ!(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 cairommpostgresqlと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
- postgresql-libs-8.3.4-1.1.moblin.i386.rpm (220kb)
- gdal-1.5.3-1.moblin.i386.rpm (6,636kb)
- mapnik-0.6.0-3kf.moblin.i386.rpm (9,832kb)
- postgresql-8.3.4-1.1.moblin.i386.rpm (3,512kb)
- postgresql-server-8.3.4-1.1.moblin.i386.rpm (4,744kb)
- osm2pgsql-0.66-1.3kf.16215.moblin.i386.rpm (72kb)
- osm-symbols-1.0-1kf.noarch.rpm (180kb)
- osm-world_boundaries-1.0-1kf.noarch.rpm (332,088kb)
- osm-postgis-japan-0.20090624-1kf.noarch.rpm (54,816kb)
- tsmap-0.6-1.i386.rpm (100kb)
src.rpm:tsmap-moblin-src.md5sum
- gdal-1.5.3-1.moblin.src.rpm (6,936kb)
- mapnik-0.6.0-3kf.moblin.src.rpm (7,284kb)
- osm2pgsql-0.66-1.3kf.16215.moblin.src.rpm (368kb)
- postgresql-8.3.4-1.1.moblin.src.rpm (19,884kb)
- osm-world_boundaries-1.0-1kf.src.rpm (19,884kb)
- osm-symbols-1.0-1kf.src.rpm (19,884kb)
- osm-postgis-japan-0.20090624-1kf.src.rpm (19,884kb)
- tsmap-0.6-1.src.rpm (68kb)
Posted by TechStrom on Monday, July 13, 2009