オープンソースの画像生成AIをセットアップから使い方まで解説する『Stable Diffusion AI画像生成ガイドブック』(ソシム刊)発売中(→本のサポートページ

Leopardで「はてダラ」を動かしたい

【元記事:Leopardで「はてダラ」を動かしたい:d:id:manpukuya:20071225:hw

テキストファイルからはてなダイアリーを更新できる「はてなダイアリーライター(通称:はてダラ)」というプログラムがあります。

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が言うには「LeopardPerlは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ファイルは改行コードを「LF」に

最初、ターミナルからPerlを使っても処理結果が表示されず困ったのだった。

結論からいうと、.plファイルの改行コードを「LF」にしてないのが悪かった。

バッチファイルの代わりにシェルスクリプト

はてダラ」はいろいろオプションをつけて使うことができる。しかし。

perl hw.pl -u manpukuya -c -n conf.txt

みたいなことをいちいちコマンドラインから入力するのは面倒なので、Windowsのバッチファイルのような(←こういう表現をするとUNIXな人に「逆!」と怒られそうだ)シェルスクリプトなるファイルを作っておくのだった。

そして解説を読んで、上みたいなコマンドをただ書けば実行ファイルになるわけじゃないんだ、ということがわかった。

あと実行できるようにしたシェルスクリプトをカレントディレクトリで実行する場合でも、「./ファイル名」みたいに「./」(「カレントディレクトリの」という意味)をきちんとつけてあげないと「command not found」と言われてしまうのだった。「ターミナル」は意外なところで厳格な人だ。

追記:「Crypt::SSLeay」をインストールできました

こちらをどうぞ。