さくらのレンタルサーバー(FreeBSD 7.1-RELEASE-p16)にPerlbrewでPerlをインストールした話

@nqounetです.

以前から契約しているさくらのレンタルサーバーには,すでにPerlbrewやPerlが入っているのですが,ログインシェルをbashに変えたせいなのかPerlbrewがうまく動かなくなってしまいました.

おそらくSSLの関係だと思うのですが,install-cpanmやinstall-patchperlなどが動作しません.

1
2
$ perlbrew install-patchperl
ERROR: Failed to retrieve patchperl executable.

以前はちゃんと動作したと思うのですが.

で,そのせいで新しくPerlをインストールすることもできなくなりました.

うまくいった方法

1
2
cpanm Devel::PatchPerl
perlbrew install --notest perl-5.16.3 -D=usethreads

ログインシェルを何故変えたのか

さくらのレンタルサーバーは,ログインシェルがcshになっています.

そのせいかどうかはわかりませんが,cronでPerlのスクリプトがうまく実行できません.

どうやってもPerlbrewで使っているPerlで動作しないのです.

CGIのように,起動したいPerlを直接指定してもモジュールがない,と言われてしまいます.

CGIでは起動できるので,モジュールがない,というエラーが発生するのが何故なのか,さっぱりわかりません.

ということで,短絡的ですがシェルを変更してみることにしたのです.

予めbashの場所を確認しておいて,それを設定すれば良いので簡単ですね.

1
2
3
$ which bash
/usr/local/bin/bash
$ chsh -s /usr/local/bin/bash

パスワードを訊かれるので入力すればOKです.

Perlbrewを入れてみる

ここまで来たら,いつものようにPerlbrewのインストールなのですが,インストール中にpatchperlがインストールできなかった,というメッセージが.

SSLが関係しているようなのですが,オプションの渡し方がわからなかったので,他の方法を探したところ,cpanmでDevel::PatchPerlをインストールする,ということでした.

ハッピーエンド(?)

とりあえず,Perlはちゃんと入りましたが,今度はDBD::SQLiteで躓いてます…orz

VPSのような環境に慣れすぎて,不自由な中での環境構築作業が激しく苦痛です.

comments powered by Disqus
Hugo で構築されています。
テーマ StackJimmy によって設計されています。