Ubuntu 12.04(64bit)にjperlを導入する方法
ちょっと前にjperlなるものを使わざるを得ない機会がありました。
その時に導入に一晩くらいかかってしまったので、その詳細を書いておきます。
そもそもjperlとは何なのか・・・
つまり、負の遺産というわけですね・・・
Ubuntu 12.04(64bit)へのjperlの導入
まずは、こちらからperl5.005_04.tar.gzとjperl5.005_04-20040401.pat.gzをダウンロードして、
Webページの指示にしたがってPerlにJperlのパッチを当てる。
$ tar zxvf perl5.005_04.tar.gz $ gzip -d jperl5.005_04-20040401.pat.gz $ cd perl5.005_04 $ patch -p1 < ../jperl5.005_04-20040401.pat
次に、既存のperlとは別にperl5.005_04(jperl)をインストールする。
$ sh Configure -Dprefix=/usr/local/perl5.005_04 -Dusethreads -de
それから、
$ make
とするのですが、この段階でいくつかエラーが出るかもしれません(私はでました)。
<command-line>なんとかというエラー
makedependent.SHを編集すればOK
・・・ '/^#.*<stdin>/d' \ '/^#.*<builtin>/d' \ '/^#.*<built-in>/d' \ '/^#.*<command line>/d' \ '/^#.*<command-line>/d' \ #この行を追加 '/^#.*"-"/d' \ 's#\.[0-9][0-9]*\.c#'"$file.c#" \ ・・・
math.hがリンクされていないみたいなエラー
sh Configureからやり直し。
■64bit
$ sh Configure -Dprefix=/usr/local/perl5.005_04 -Dusethreads -Dplibpth=/usr/lib/x86_64-linux-gnu -de
■32bit(未確認)
$ sh Configure -Dprefix=/usr/local/perl5.005_04 -Dusethreads -Dplibpth=/usr/lib/i386-linux-gnu -de
さらに、asm/page.hがないとか言われたらシンボリックリンクで対処します。
$ mkdir /usr/include/asm $ sudo ln -s /usr/src/linux-headers-3.5.0-31/arch/x86/include/asm/page.h /usr/include/asm/page.h
※linux-headersのバージョンは違うかもしれません。
そこから、
$ make test $ sudo make install
して、最後にシンボリックリンクをつくれば完了!
$ sudo ln -s /usr/local/bin/perl5.005_04/bin/perl /usr/local/bin/jperl
実行中に rr_fopen error で /usr/tmp/...のファイルが開けないと言われたら
/usr/tmpディレクトリがないのが原因かもしれません。
その場合は、mkdirで作ってパーミッションを設定すればOKです。
以上です!
これでUbuntuでもjperlが使えます!!
たぶん!
今回の感想
- jperlは一生使いません。
- Redhat系は優秀