diary/Kojima

・KDE-4.2.3

まだ仮想環境(VirtualBox)上だけど,やっと動くようになった.

kde423.jpg

KDEの場合,ソースコードはまとまっているからコンパイルは簡単なんだけど, 今回は Akonadi なる PIM のフレームワークを動かすのが大変だった.

Akonadi はPIM(Personal Information Management)のフレームワークということで, 自身のメールアドレスや情報を管理するだけではなく,スケジュールとか, メールやメッセンジャーで連絡する先の情報とかも保存するので, バックエンドにSQLなデータベースを利用して,しかも MySQL を前提にしているらしい.

KDEの世界ではMySQLが広く使われているという前提があるようだけど,
さすがに PIM のデータを管理するだけに MySQL をインストールするのはどうよ,
みたいな意見はあって,組み込みタイプの SQLite も使えるようにはなっている模様

KDE を起動すると,自動的にAkonadiのサーバが起動され,「データベースのドライバが見つかりません」 というエラーを出す.

Database driver not found.
Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration.
The following drivers are installed: QSQLITE, QSQLITE2.
Make sure the required driver is installed.

この QMYSQL というのは Akonadi や KDE ではなく,Qt のレベルでの MySQL のドライバで, 使えるようにするには MySQL をインストールした上で Qt を再ビルドする必要がある.

一方,MySQL は,単純に configure && make するだけでは動いてくれずに一苦労. 結果的には,専用のアカウント(mysql)とそれに合わせたデータベースファイルのパーミッション設定に加えて, データベースの設定情報を作るための mysql_install_db の実行が必須だった模様.

しかも,configure 時の --prefix に /opt/mysql を指定しても, データベースファイルを/opt/mysql/var ではなく /var 以下にバラまこうとするのを直すのにも一苦労. configure 時に --datadir とかで指定するのかな,とあれこれ試行錯誤してみたけど,--datadir を指定すると,通常は mysql/share 以下に収まる locale データとかも --datadir 上に行ってしまうのでよろしくなさげで, 結局,起動時に basedir と datadir を指定するように起動用スクリプト(mysql.server)を修正して,/etc/rc.d/init.d/mysqld に収めることで対処.

MySQL のファイル配置の設定を変えれば,仮想環境ではコンパイルに6時間くらいかかる Qt も再ビルドが必要になって,講義の準備の合間にやっていたら, 結局 GW のころから一月くらいかかってしまった :-P

パッケージ類は手元のプライベートなツリーにマージしているのだけど,かなり大規模な変更になっているので, 公開しているツリーにマージする前に P-Plamo の新版として公開して様子を見る方がよさげな感じ.

kojima@vbox:~$ du -h . | grep '.local'
4.0K    ./.local/share/Trash/info
4.0K    ./.local/share/Trash/files
12K     ./.local/share/Trash
4.0K    ./.local/share/mime/packages
8.0K    ./.local/share/mime
8.0K    ./.local/share/applications
4.0K    ./.local/share/akonadi/file_db_data
1.3M    ./.local/share/akonadi/db_data/akonadi
140M    ./.local/share/akonadi/db_data
4.0K    ./.local/share/akonadi/db_misc
140M    ./.local/share/akonadi
140M    ./.local/share
140M    ./.local

インストール直後で個人情報とかは最小限しか入ってないのにこのざまというのは、設計思想レベルで致命的な機能ミスという気がするな > akonadi -- kojima 2009-06-03 (水) 01:17:31

みたいに設定してやれば、MySQL は不要で、

# ls -lh .local/share/akonadi/

合計 36K
-rw-r--r-- 1 isle users 32K  6月  5日  15:16 akonadi.db
srwxr-xr-x 1 isle users   0  6月  5日  15:16 akonadiserver.socket=

ぐらいに収まる気配。MySQLはAmarokあたりも要求するので、KDEの全体的な観点からは必要になりそうだけど、とりあえずAkonadiは無駄なDBファイルの生成を回避できそう-- kojima 2009-06-05 (金) 17:09:59



添付ファイル: filekde423.jpg 147件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:41