このスレッドは未解決です(解決したらこちらで解決済にしてください)
<<戻る

Jcodeのインストールディレクトリについて このメッセージに返信する
日時: 2016/09/05(Mon) 13:38
名前: なかの
URL:
複数台のサーバを構築した際
Jcodeがインストールされるディレクトリがサーバによって異なってしまいました

/usr/local/lib64/perl5
にインストールされる場合と

/root/perl5/lib/perl5/x86_64-linux-thread-multi
にインストールされる場合があります。

「Jcode-0.87.tar.gz」を使用し、
以下のコマンドを実行しました。
----
perl Makefile.PL
make
make test
make install
----

コマンドは全てrootユーザで実行したため
読み込んだ環境変数が違ったということは考え辛いと思うのですが、
他にどういった原因が考えられるでしょうか?
ご教授お願いいたします。
記事編集 編集
Re: Jcodeのインストールディレクトリについて このメッセージに返信する
日時: 2016/09/05(Mon) 17:12
名前: 通りすがり
URL:
perl -MCPAN -e shellを実行したときにbashrcに下記が書き込まれる。
コメントしてやれば/root/perl5はなくなるよ。

[root@www ~]# cat .bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

#export PERL_LOCAL_LIB_ROOT="$PERL_LOCAL_LIB_ROOT:/root/perl5";
#export PERL_MB_OPT="--install_base /root/perl5";
#export PERL_MM_OPT="INSTALL_BASE=/root/perl5";
#export PERL5LIB="/root/perl5/lib/perl5:$PERL5LIB";
#export PATH="/root/perl5/bin:$PATH";
記事編集 編集
Re: Jcodeのインストールディレクトリについて このメッセージに返信する
日時: 2016/09/05(Mon) 17:32
名前: なかの
URL:
通りすがりさん
>perl -MCPAN -e shellを実行したときにbashrcに下記が書き込まれる。
>コメントしてやれば/root/perl5はなくなるよ。
私の環境では
perl -MCPAN -e shell
を実行しないままJcodeをmake,make installしました。
そもそもとしてこの状態が間違っている、ということでしょうか?


rootユーザの.bashrcを確認したところ、/root以下にインストールされたサーバ・/usr以下にインストールされたサーバともに、下記の記述はありませんでした。
>
>#export PERL_LOCAL_LIB_ROOT="$PERL_LOCAL_LIB_ROOT:/root/perl5";
>#export PERL_MB_OPT="--install_base /root/perl5";
>#export PERL_MM_OPT="INSTALL_BASE=/root/perl5";
>#export PERL5LIB="/root/perl5/lib/perl5:$PERL5LIB";
>#export PATH="/root/perl5/bin:$PATH";
記事編集 編集
Re: Jcodeのインストールディレクトリについて このメッセージに返信する
日時: 2016/09/06(Tue) 17:00
名前: 通りすがり
URL:
自分はawstatsをインストールする際にperl -MCPAN -e shellを実行しました。
nginxのperlモジュールをインストールする際にパスがおかしいことに気がついて.bashrcを調べたら
上記が書き込まれていました。
echo $PATHはどうなってますか?
.bashrcに書き込みがないとすると後はbash_profileくらいですかね。
下記のように変更してあるとか

PATH=/root/perl5/bin:$PATH:$HOME/bin:

[root@www ~]# echo $PATH
/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

自分にわかるのはこれくらいです。
記事編集 編集
Re: Jcodeのインストールディレクトリについて このメッセージに返信する
日時: 2016/09/06(Tue) 17:20
名前: stranger
URL: http://ja.528p.com/
疑問?
perl 5.8 以降なら jcode 必要ないのでは?

追記
Jcode.pm - jcode.pl の後継、Encode.pm への架け橋
http://openlab.ring.gr.jp/Jcode/index-j.html

Jcode.pmは
epelレポにperl-Jcodeのパッケージがあります
perl-Jcode-2.07-1.el6.noarch.rpm
perl-Jcode-2.07-15.el7.noarch.rpm

Encode/JP.pmは
CentOS6ではperlに含まれる
CentOS7ならperl-Encodeに含まれる
記事編集 編集
Re: Jcodeのインストールディレクトリについて このメッセージに返信する
日時: 2016/09/15(Thu) 11:02
名前: なかの
URL:
回答ありがとうございます><

>通りすがり さん
echo $PATH
[root@www ~]# echo $PATH
opt/java/bin:/usr/lib64/qt-3.3/bin:/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/ant/bin:/usr/pgsql-9.2/bin/:/root/bin

bash_profile
上記の内容に差異はありませんでした。。。


>stranger さん
>perl 5.8 以降なら jcode 必要ないのでは?
そうなんですね。。。

過去の習慣としてインストールしていましたが今後は検討してみます。



新しくわかったこととして
perl Makefile.PLした時に作られるMakefileファイルの中で変数の定義のされかたが違っていました。

/usr/localにインストールされたサーバは
PREFIX = $(SITEPREFIX)
SITEPREFIX = /usr/local

となっていて
/root/perl5にインストールされたサーバは
INSTALL_BASE = /root/perl5
PREFIX = $(INSTALL_BASE)

と定義されていました。

Makefile.PLの中でuse ExtUtils::MakeMaker;のWriteMakefileしたときになにかしらの原因によって変数の定義の仕方が変わってしまったと思うのですが、原因に目星もつきません。

なにか心当たりのある方がいらっしゃればご教授お願いいたします。
記事編集 編集
Re: Jcodeのインストールディレクトリについて このメッセージに返信する
日時: 2016/09/15(Thu) 11:54
名前: 通りすがり
URL:
bash_profileでサーバーによってrootの環境変数PATHがちがうのでしょう
それが原因でインストール先が変更になってしまったとおもいます。

各サーバーで
# echo $PATH
を実施して違いを確認してみてください。

後アドバイスなのですが、
サーバーしかもrootで色々違いがあるとオペミスした時怖いですね。
PATHを統一するか出来ない場合はフルパスで入力するようにしたほうがいいでしょう。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -