2016年5月19日木曜日

Ubuntu14.04で、extra-cmake-modulesを使いたい & apt-getできないパッケージの探し方

Ubuntu14.04を使ってて、githubからfcitx-qt5を落として使おうと思ったんだけど、cmakeをかけると、こんなエラーが出た。
CMake Error at CMakeLists.txt:8 (find_package):
  Could not find a package configuration file provided by "ECM" (requested
  version 1.4.0) with any of the following names:

    ECMConfig.cmake
    ecm-config.cmake
{なんじゃ、このECMってのは? しゃーない入れるか。}
と調べると、 extra-cmake-modules というもののよう。
これを使うと、どうも CMakeLists.txt が書きやすくなるものらしく、最近cmakeの際に、ECMを必要とするプロジェクトが増えている様子。 例によって、
sudo apt-get install extra-cmake-modules
してみたが、
E: パッケージ extra-cmake-modules が見つかりません
と怒られた。
{えーっ。ないのかー。探すか・・・}
Ubuntuだと、このECMっちゅうのは、14.10からの導入らしく14.04の標準リポジトリには、存在しない。 しかも、Ubuntu14.04 extra-cmake-modules ECM apt-get とかのキーワードをいろいろ組み合わせてググってもパッとしない。
結局、見つかったんだけど、それがここ。一見、14.04用ないじゃん・・・ ってなるけど、わかりにくく下の方に、
Other versions of ‘extra-cmake-modules’ in untrusted archives.
てあるので、そこ開いてTrusty(14.04のこと。わかりにくいから数字にしてくれ・・・)を叩くと、非公式リポジトリの説明ページに飛ぶから、そこの情報に従い、
sudo add-apt-repository ppa:ubuntu-sdk-team/staging
で、リポジトリ追加して後は、お決まりの
sudo apt-get update
sudo apt-get install extra-cmake-modules
で、無事ECM追加できて、cmakeもあっさり通った。
今回お世話になった、パッケージ情報がたくさんある launchpad.net なんだけど、Ubuntuのパッケージを探すときには、注意点があって、トップページにある検索窓に、パッケージ名(例:extra-cmake-modules)を打ち込んでも、結果のExact matchesには、ソースパッケージの情報しかでてこない。(お目当てのモノは、下のずらーーーっの中に埋没している。)
なので、Ubuntuパッケージのページの検索窓を使う。こっちは、Exact matchesにちゃんと実行できるパッケージが出るので、そのから探すと速いです。