Perl5.38.2のインストール
Linux環境にPerl5.38.2をインストールしてみました。
ディストリビューションはCentOS8.1です。
1.ソースのダウンロード
ソースからビルドするので、「Perl Source」のページから「perl-5.38.2.tar.gz」をクリックしてダウンロードします。
2.ビルド
ダウンロードしたアーカイブを解凍して、ディレクトリに移動します。
# tar xvf perl-5.38.2.tar.gz
# cd perl-5.38.2
configureは次のオプションを追加しています。
# sh Configure -des -Dusethreads -Dinc_version_list=none
各オプションの意味は次の通りです。
- sh Configure:Configureをシェルで実行します。Configureはシステムに適したビルド設定を行うためのものです。
- -d:デフォルトの設定を使用することを指示します。ユーザーからの入力を求めずに進行します。
- -e:全ての設定を自動的に進めることを意味します。このオプションによりユーザーは一切の質問に対して「yes」と回答したことになります。
- -s:Silentモードを意味します。通常の動作では進行状況が表示されますが、-sを使用すると出力が抑制されます。
- -Dusethreads:Perlをスレッドサポート付きでビルドすることを指示します。これによりPerlでマルチスレッドプログラミングが可能になります。
- -Dinc_version_list=none:Perlインタープリタが特定のバージョンディレクトリを探さないように設定します。このオプションは、異なるバージョンのPerlモジュールが混在するのを防ぐために使われます。
下記のように実行されます。少し時間がかかります。
# sh Configure -des -Dusethreads -Dinc_version_list=none
First let's make sure your kit is complete. Checking...
Locating common programs...
:
If you compile perl5 on a different machine or from a different object
directory, copy the Policy.sh file from this object directory to the
new one before you run Configure -- this will help you with most of
the policy defaults.
#
完了したら、makeを実行します。これもかなり時間がかかります。
# make
# make test
# make install
パスはまだ古いバージョン(5.26.3)のままです。
# perl -v
This is perl 5, version 26, subversion 3 (v5.26.3) built for x86_64-linux-thread-multi
(with 51 registered patches, see perl -V for more detail)
今回インストールしたPerlは、/usr/local/binにインストールされたようです。
# which perl
/usr/local/bin/perl
# /usr/local/bin/perl -v
This is perl 5, version 38, subversion 2 (v5.38.2) built for x86_64-linux-thread-multi
シンボリックリンクを使って、perlのパスを新しいバージョンのものに書き換えます。古いバージョンのperlはリネームしてバックアップしておきます。
# cd /usr/bin
# ls -l perl
-rwxr-xr-x. 2 root root 14328 5月 12 2019 perl
# mv perl perl-5.26.3
# ln -s /usr/local/bin/perl perl
# ls -l perl
lrwxrwxrwx 1 root root 19 6月 13 22:30 perl -> /usr/local/bin/perl
最後にバージョン確認して、5.38.2になっていればOKです。
# perl -v
This is perl 5, version 38, subversion 2 (v5.38.2) built for x86_64-linux-thread-multi
3.参考サイト
参考サイトは下記です。ありがとうございました。
Posted by yujiro このページの先頭に戻る
- Perlでansibleライブラリを作成する方法
- perlのCPANモジュールからRPMを作成する方法
- Perlで「Subroutine permission redefined at~」を抑止する方法
- XML::Simpleのインストールでエラーになる場合の対処
- YAML::Tinyで「YAML::Tiny found bad indenting in line~」というエラーになる場合の対処
- Perlの正規表現を使って文字列をまとめて取得する方法
- Perlのハッシュでキーの有無を調べる方法
- perlで配列の途中の要素を削除する方法
- YAML::Tinyでコロンを利用する方法
- Perlで改行コードがCRのファイルを読み込む方法
- Perlで「Possible precedence issue with control flow operator」という警告の対処
- PerlのLWPで「Can't verify SSL peers without knowing which Certificate Authorities to trust」というエラーになったときの対処
- Perl+Windowsでファイルを再帰的にリネームする方法
- Perlプログラムの中でファイルの一部を書き換える方法
- Perlの「Bareword "%s" not allowed while "strict subs" in use~」というエラーについて
トラックバックURL
コメントする
greeting