Network Users' Group ``wheel'' / Dai ISHIJIMA's Page /
psmultiのインストール

最終更新日: 2002/03/04


psmultiのインストール

perl-4.036のインストールを含む


用意したファイル

近場のRingServerから」 とは、 ftp://ring.omp.ad.jp/pub/lang/perl/CPAN/src/unsupported/4.036/perl-4.036.tar.gz および ftp://ring.omp.ad.jp/pub/lang/perl/CPAN/src/unsupported/4.036/jperl/jperl1.4%404.036.tar.gz から(うちの上流がOMPだった)。

今はOMPがringサーバのミラーを停止しているので http://www.ring.gr.jp/pub/CPAN/src/unsupported/4.036/ あたりからどうぞ。

注2

「TeX archives CD-ROM」とは、1996年に発売された、 「日経MIX page.script会議 tex分科会 編纂 TeX archives」のこと。
(赤松ビルにあったころの「ふぁすとばっく」で購入…だったような (記憶が…^^;))

perl-4.036のインストール

psmultiは、FreeBSD 4.xに標準装備のperl5では動きません。 そこでまず、perl-4.036をインストールします。 もちろん、perl5で動くように、psmultiを書き換えるというのも いい方法です。 しかし、 FreeBSD 2.x時代に作った自作perlスクリプトを (ほとんどはperl5でも動きますが、一部動かないのもあるので) さくっと動かすためにも、 perl4を入れておくという選択肢には捨てがたいものがあります(笑)。

…というわけで、まずはアーカイブを適当な場所でばらして ドキュメントを熟読したあとで コンパイルします。

	% cd /home/local/tmp
	% tar xzvf /tmp/perl-4.036.tar.gz
	% cd perl-4.036
	% ./Configure
Configureスクリプトを動かしたときは、ライブラリとして 「/usr/lib/libc.so」のかわりに 「/usr/lib/libc.a」を指定するのがポイントです。
ログはこちら
	% make depend
	% make
makeすると、以下のようなメッセージが出てa2pのコンパイルでコケます。
	util.h:45: conflicting types for `setenv'
	/usr/include/stdlib.h:123: previous declaration of `setenv'
	*** Error code 1
これは、x2p/util.hの45行目にあるsetenv()の宣言が stdlib.hの宣言と合致しないのが原因です。 ここでは、x2p/util.hの45行目をコメントアウト (「/* void setenv(); */」とする) して回避します。
	% vi x2p/util.h
	% make
	% vi installperl
installperlスクリプトを(make installで)実行すると、 /usr/bin/perlを上書きしてしまいます。 そこで、3行目($mainperldir = "/usr/bin";)を 書き換えます($mainperldir = "/home/local/perl4/bin";)。
	# mkdir -p /home/local/perl4/bin
	# mkdir -p /home/local/perl4/man/man1
	# mkdir -p /home/local/perl4/lib
	# make install
また、perl4で呼び出せるように、 パスに登録されているディレクトリから実行ファイルにリンクを張っておく と便利です。
	# cd /home/local/bin
	# ln -s /home/local/perl4/bin/perl perl4

もっと酔狂なものも用意してみました。

psmultiのインストール

まずアーカイブをバラしてドキュメントを熟読。
	% cd /home/local/tmp
	% tar xzvf /cdrom/archives/tex/driver/ps/psmulti.tgz
	% cd psmulti
	% more README
次にインストールスクリプトをいじります。 先頭行(「#!行」)とインストール先を変更しておきます。
	% vi Install
perl(「#!行」と「$PERLEXE」)には、 さきほどインストールしたperl-4.036 (/home/local/perl4/bin/perl) を指定し、 インストール先 ($BINDIR, $LIBDIR, $MANDIR) には、 /home/local/{bin,lib,man}を指定しました。

インストールスクリプトをいじったら、 rootに変身して実行します。

	# mkdir -p /home/local/lib/psmulti
	# /home/local/perl4/bin/perl Install
さらに、インストールされた psmulti および psfix スクリプトの 先頭行が正しくないので修正しておきます。
	# vi /hoem/local/bin/psmulti
	# vi /hoem/local/bin/psfix