テキストファイルからはてなダイアリーを更新できる「はてなダイアリーライター(通称:はてダラ)」というプログラムがあります。
Mac OS X 10.5(Leopard)で「はてダラ」を動かそうとしていますが、今のところうまくいっていません。自分用まとめも兼ねて、途中経過を報告。
つまづき:「Crypt::SSLeay」モジュールを入れられない
「はてダラ」の実行に必要なファイルを準備し、「アプリケーション」‐「ユーティリティ」内にある「ターミナル」から「はてダラ」を使おうとすると、以下のようなエラーメッセージが出ます。
WARNING: Crypt::SSLeay is not found, use non-encrypted HTTP mode.
No files are posted.
「Crypt::SSLeay」がないとログイン処理ができないという話は、上の公式サイトにも出ています。
じゃあ「Crypt::SSLeay」をインストールだッ。
ところが。
$ perl -MCPAN -e shell
cpan> install Crypt::SSLeay
をするとエラーが出るわけです。
make: *** No rule to make target `/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE/config.h', needed by `Makefile'. Stop.
/usr/bin/make -- NOT OK
とかおっしゃる。つまり「Crypt::SSLeay」をインストールできないんです。
「Leopard Perl 5.8.8 installation throws errors when compiling (makefile) | 90kts」が言うには「LeopardのPerlは5.8.8であり、5.8.6のフォルダからファイルをコピーしちゃえばよさげ」ということである。
しかしその通りにして再度「$ perl -MCPAN -e shell」→「cpan> install Crypt::SSLeay」してみても、今度は別のエラーが出るわけです。
インストールの処理は一応途中までは進んでいる感じなのですが。
lipo: can't open input file: /var/folders/lD/lDTNaqz9EG0MzfHBrRWBik+++TI/-Tmp-//ccnpy7fi.out (No such file or directory)
make: *** [blib/arch/auto/Crypt/SSLeay/SSLeay.bundle] Error 1
/usr/bin/make -- NOT OK
ふむふむ、なるほどー。じゃなくてもうわからん。「WARNING: Crypt::SSLeay is not found」は変わらない。
というところで、今日は終了。以下は今日知ったこと。
バッチファイルの代わりにシェルスクリプト
「はてダラ」はいろいろオプションをつけて使うことができる。しかし。
perl hw.pl -u manpukuya -c -n conf.txt
みたいなことをいちいちコマンドラインから入力するのは面倒なので、Windowsのバッチファイルのような(←こういう表現をするとUNIXな人に「逆!」と怒られそうだ)シェルスクリプトなるファイルを作っておくのだった。
そして解説を読んで、上みたいなコマンドをただ書けば実行ファイルになるわけじゃないんだ、ということがわかった。
あと実行できるようにしたシェルスクリプトをカレントディレクトリで実行する場合でも、「./ファイル名」みたいに「./」(「カレントディレクトリの」という意味)をきちんとつけてあげないと「command not found」と言われてしまうのだった。「ターミナル」は意外なところで厳格な人だ。