SequelerというLinux用のDBクライアントがあります。名前が似ていますがmacOS用のSequel ProとかSequel Aceとは別物です。
Linux用のツールですが、Gentoo用のリポジトリーに入っていなかったので自前でebuildファイルを作りました。
サクッと作って終わり!というわけではなかったので、ちょっと苦労話でも語らせてもらいます。興味のない方はebuildファイルだけパクってトンズラこいても大丈夫です。
依存ライブラリーは公式ドキュメントの情報が不正確だった
この記事を執筆時点の公式ドキュメントによると、依存ライブラリーは以下の通り。
とりあえずこれらのライブラリーをそのまま導入してビルドしてみると、こんなエラーメッセージが出てビルドに失敗しました。
error: The name `AccelLabel' does not exist in the context of `Granite' button.add (new Granite.AccelLabel (label, accels));
よくわからんけどGraniteとかいうのがおかしいのかな、そういえば依存ライブラリーにGraniteってあったな・・・と思いつつGraniteのページを確認。ほーん、elementary OSで使ってるウィジェットなのね。そういえばPantheonデスクトップ環境もちょっと気になってるんだよなぁ。Gentooの公式リポジトリーからインストールできるようになったら使ってみたい。
閑話休題。Graniteのissueを見ても特にそれらしいものは挙がっていないように見えます。ちゃんとAccelLabelとかいうウィジェットも存在してるっぽいし、どうも原因がわからん・・・
そういえばSequelerのドキュメントにGraniteはv5.2以上が必要って書いてあったなーと思って、Granite v5.2の中身を見てみると、AccelLabelがないではありませんか。
試しにGranite v5.3をインストールし直して再度ビルドすると、無事成功。Sequelerのissueに同じようなことを書いていた人がいたので、そこに追記&修正PRを作っておきました。現時点ではまだマージされていませんが、ドキュメントの修正だけなので気軽に待ちます。
libgdaがビルドできない
無事Sequelerのビルド・起動に成功したのでいざMariaDBサーバーに接続しようとしたところ、今度は接続エラーが発生。
その時のエラーメッセージは忘れましたが、調べてみるとlibgdaでMySQLやMariaDBを使うにはmysqlフラグが、PostgreSQLを使うにはpostgreフラグが必要のようです。
ならばとmysqlフラグを立てて再度libgdaをビルドしたところ、今度は「"my_bool"が存在しない」という大量のエラーが。
この不具合はGentoo's Bugzillaに登録されていて、5.2.8で一度修正されていたけど5.2.9でデグレが起きていたようです。ならばとこちらにも修正PRを投げて無事マージされました。
これで無事MariaDBサーバーに接続できるようになりました。動作も問題なさそうです。
ただし手元にPostgreSQLサーバーがないので、そちらの動作確認はできていません。
0 件のコメント:
コメントを投稿