ubuntuでnative extentionがあるgemをインストール

ubuntuに変えて、一つ不満だったのはパッケージがありすぎることである。
いや、ありすぎることは悪いことではない。
だけど、問題はどのパッケージをインストールするべきかわかりづらいということだ。

たとえば、rubyのコードでbundle installすると

Using do_mysql (0.10.6) from git://github.com/datamapper/do.git (at d7cb262) with native extensions Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Thanks!
/usr/lib/ruby/1.9.1/rubygems/installer.rb:552:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

        /usr/bin/ruby1.9.1 extconf.rb 
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***

とエラーが出る場合。
この場合、mysqlclientのライブラリがないといっているようだ。
CentOSだと、なんとなくsqlite-devっぽいものをインストールすれば解決した。

最近、apt-fileというコマンドを覚えた。apt-getでインストールし、apt-file updateで最新の情報が手に入る。そこで、

$ apt-file search mysqlclient
libmysqlclient-dev: /usr/lib/x86_64-linux-gnu/libmysqlclient.a
libmysqlclient-dev: /usr/lib/x86_64-linux-gnu/libmysqlclient.so
libmysqlclient-dev: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.a
libmysqlclient-dev: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so
libmysqlclient-dev: /usr/share/doc/libmysqlclient-dev/changelog.Debian.gz
libmysqlclient-dev: /usr/share/doc/libmysqlclient-dev/copyright
libmysqlclient-dev: /usr/share/doc/libmysqlclient-dev/examples/udf_example.c.gz
libmysqlclient16: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.16
libmysqlclient16: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.16.0.0
libmysqlclient16: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.16
libmysqlclient16: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.16.0.0
libmysqlclient16: /usr/share/doc/libmysqlclient16/changelog.Debian.gz
libmysqlclient16: /usr/share/doc/libmysqlclient16/copyright
libmysqlclient16-dev: /usr/share/doc/libmysqlclient16-dev/changelog.Debian.gz
libmysqlclient16-dev: /usr/share/doc/libmysqlclient16-dev/copyright
libmysqlclient18: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18
libmysqlclient18: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
libmysqlclient18: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18
libmysqlclient18: /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18.0.0
libmysqlclient18: /usr/share/doc/libmysqlclient18/changelog.Debian.gz
libmysqlclient18: /usr/share/doc/libmysqlclient18/copyright
pandora-build: /usr/share/aclocal/pandora_have_libmysqlclient.m4

となるいっぱい出てくるけど、libmysqlclient-devが怪しさ満点。そこで、apt-get installする。
問題は解決しました。

次、Postgresqlについても同様のエラー。こちらは、

>|bash|
checking for main() in -lpq... no
checking for main() in -llibpq... no
|