LoginSignup
5
8

More than 5 years have passed since last update.

ubuntu 16.10以前でgnu global(gtags)を使うなら、ソースからビルドしよう

Last updated at Posted at 2017-01-10

コメントを受けて追記:
ubuntu 16.04, 16.10ユーザーは、2017.5.8時点では、
ubuntu 17.04向けのdebファイル(バイナリパッケージ)をlaunchpadから単品ダウンロードしてインストールできるようです(つまりソースからのビルドが不要)。
amd64版なら
https://launchpad.net/ubuntu/zesty/amd64/global/6.5.6-2
からダウンロード。

(追記終わり)

apt-getでインストールしちゃあかんの?

2017.1.10現在でのglobal本家の最新版は6.5.6ですが、
(apt-getなどでインストールされる)ubuntuパッケージリポジトリにあるものは5.7.1と古すぎるので。
本家MLでも言及されてました。
http://lists.gnu.org/archive/html/info-global/2012-06/msg00000.html

GLOBAL-6.2.4 is far faster than 5.7.1, and many bugs are fixed.
Additionally, it has also many new functions like follows:

o Function layer built-in parser.
o Function layer plug-in parser.
o Integration with Cflow(htags).
o Allow a path name which includes blanks.
o Detect looped symbolic links(gtags).
o Auto completion in search form(htags).
o Dynamic file browser(htags).
o Server side GLOBAL (client/server mode).
o TRAMP support(emacs).
o Auto updating tag files(emacs, vim).
and etc,

最近のバージョンのほうがソースコードのパースが高速化されて機能も増えているということで、新バージョンを使ったほうが開発が捗る!

6.3.2からはPygmentsによりglobalの対応言語が大幅に増えたので、globalの活用シーンが広がっています。
(対応言語は Awk, Dos batch, COBOL, C, C++, C#, Erlang, Fortran, Java, JavaScript, Lisp, Lua, Pascal, Perl, PHP, Python, Ruby, Matlab, OCaml, Scheme, Tcl, TeX, Verilog, VHDL, Vim cf. http://www.tamacom.com/handbook/new.html#6.3.2)

ubuntu 17.04以降は?

どうもパッケージのメンテナが交代したおかげで?、
ubuntu 17.04ではパッケージリポジトリに入るバージョンは最新版になるようです。
↓ 2017.1.10 時点でのubuntu各バージョンのglobalのバージョン
 http://packages.ubuntu.com/search?suite=all&searchon=names&keywords=global
gnuglobal-versions-on-ubuntu.png

バージョンアップに伴い、htags関連でglobal本家にはないubuntuパッケージ版の独自機能が2つほど削除されているようなので、その機能を使っていた方は注意。
(gtagsだけ使って、globalコマンドやvim, emacsから使っている方には影響はないはず。)
削除された機能:

  • htmake and htconfig
  • alternate compressed suffix functionality for htags

( cf. http://changelogs.ubuntu.com/changelogs/pool/universe/g/global/global_6.5.6-2/changelog

ソースからビルドするには

手段1:本家tarballをビルド

aptでバージョン管理しなくて良いなら、global本家サイトからtarballをダウンロードしてきて ./configure && make && make install するだけです。
より詳しくは、例えば
http://qiita.com/yoshizow/items/9cc0236ac0249e0638ff
を参照してください。

手段2:頑張ってdebパッケージを作成

できるならaptでバージョン管理したい!という方に。
2017.5.17時点でubuntu 17.04向け最新バージョンの 6.5.6-2 のソースをubuntu 14.04向けにdebパッケージにビルドしてインストールする手順は以下の通り(すべてubuntu 14.04上で行います)。

  1. sudo apt-get install devscripts equivs build-essential autoconf
  2. 好きなところに空ディレクトリを作り、ターミナルを開いてそこにcdする
  3. https://launchpad.net/ubuntu/+source/global/6.5.6-2 のページ上の "Downloads" の箇所にある次の3つのファイルを、wgetなり何なりでカレントディレクトリにダウンロード
    • global_6.5.6-2.dsc
    • global_6.5.6.orig.tar.gz
    • global_6.5.6-2.debian.tar.xz
  4. dpkg-source -x global_6.5.6-2.dsc
  5. cd global-6.5.6
  6. ./debian/control をエディタで開き、Build-Dependsの欄にある "libtool-bin" を "libtool" に変更
    • ubuntu 16.04でパッケージが分割されたのか、14.04には libtool-bin パッケージは無いので。
  7. ./debian/control のBuild-Dependsの欄にあるパッケージをapt-getでインストール
    • コマンド1つで実行するなら mk-build-deps --install --root-cmd "sudo"
  8. debuild -us -uc -b
    • 成功したら、 ../ に.debファイルが生成されています
  9. sudo dpkg -i ../(生成された.debファイル)

ubuntu向けgnu globalのソースの最新バージョンは、 https://launchpad.net/ubuntu/+source/global のページ上の "Latest upload:" の箇所を見てください。

5
8
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8