19
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PerlAdvent Calendar 2019

Day 9

perlのビルド/インストール方法

Last updated at Posted at 2019-12-10

みなさんは、どのversionのperlをお使いだろうか。
perlは毎年、新しいstable versionがリリースされており、2019年12月現在、最新stable versionは5.30.1である。
perlは後方互換性にとても気を使っており、また新しいperlは細かなパフォーマンスチューニング、バグフィックスをたくさん含んでいる。よって、いつでも最新stable versionのperlを使うのがおすすめである。

おそらくOS付随のperlは最新のものではない。よって最新のperlを使おうとしたとき、自分でビルドしインストールする必要がある。
この記事ではperlのビルド/インストール方法について説明する。

perlのビルド/インストール方法

はじめての方は敬遠しがちかもしれないが、実のところperlをビルドしインストールするのは驚くほど簡単である:

(A) $ wget https://www.cpan.org/src/5.0/perl-5.30.1.tar.gz
(B) $ tar xf perl-5.30.1.tar.gz
(C) $ cd perl-5.30.1
(D) $ ./Configure -Dprefix=$HOME/perl -Dscriptdir=$HOME/perl/bin -des -Dman1dir=none -Dman3dir=none -DDEBUGGING=-g
(E) $ make --jobs=8 install

これでperl 5.30.1をビルドし、$HOME/perlにインストールできる。かかる時間も4分程度である。

以下(A),(D),(E)について説明を加える。

(A) perlのソースコードを取得

perlのソースコードは https://www.cpan.org/src/ から取得可能である。またこのページでperlの最新versionも確認できる。
なお、perlは 5.(偶数).x がstable version, 5.(奇数).x がdeveloper versionとなっている。たとえば、5.26.3, 5.28.2, 5.30.1はstable version、5.27.5, 5.29.1, 5.31.6はdeveloper versionである。
developer versionはperlのcoreを開発している人でない限り使うべきでない。
よって5.(偶数).xのstable versionのうち、もっとも新しいもの選ぶとよいだろう。

(D) Configureオプション

このConfigureオプションが重要である。ひとつひとつ見ていこう。

-Dprefix=(インストール場所)

インストールしたい場所に合わせて自由に設定する。なおperlの実行ファイル自体は (インストール場所)/bin/perl に配置されることになる。インストール後、環境変数PATHに (インストール場所)/bin を追加しておこう。

-Dscriptdir=(インストール場所)/bin

これはあまりいい挙動だとは思っていないのだが、perlはいくつかのスクリプトを/usr/local/scirptなどグローバルなディレクトリにインストールしようとするかもしれない。これを抑止するために、明示的に-Dscriptdir=(インストール場所)/binを指定しておこう。

-des

本当は、このオプションは-d, -e, -sの3つにわかれる。特に-dは、すべての設定値をperlが推奨するデフォルトを使用する、の意味である。これを指定しないと、たくさんの(少なくとも最初は意味不明な)質問に答えないといけなくなる。
ということで-desは指定しておこう。

-Dman1dir=none -Dman3dir=none

perlのドキュメントはpodという形式で書かれており、それはperldocコマンドで参照可能である。よってman形式のドキュメントはほとんどの場合、必要ない。
これらのオプションはman形式のドキュメント作成、インストールを無効化するものである。いつでも指定しておくのがおすすめ。

-DDEBUGGING=-g

いつかperlにデバッグ情報が入っていてよかったと思う日が来るかもしれない。
その日に備えてこのオプションを指定しておくのがおすすめである。

-Duseshrplib

apache httpd mod_perlやnginx unitなどperlと動的リンクさせて動くソフトウェアがある。これらで使うperlをビルドしようと思っているなら必須のオプションである。
逆にいうとその予定がないのなら必要ないオプションである。

-Duseithreads

perlのthread機能を有効にするオプションである。明確にthreadを使うコードがあるというとき以外は必要ない。

(E) makeオプション

--jobsを指定すれば並列でビルドされ時間短縮になる。よって--jobs=8などを指定するのがおすすめである。
なお、古いperlは並列でビルドしようとすると失敗することがあるので注意が必要である。具体的には5.20.0未満だと失敗する可能性がある。

おわりに

perlのビルド/インストール方法を紹介した。
perlをビルドしインストールするのは本当に簡単なので、是非自分でビルドし最新のperlを使うといいと思う。

変更履歴

  • scriptdirオプションを追加。
19
7
0

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
19
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?