KENT-WEB サポートコーナー 過去ログ [ 0020 ]


記事No: 9010
投稿日: 2011/08/25(Thu) 17:26:05
タイトルclipmailでencode_base64 のエラー
ID情報: junpei66
投稿者: とつん
URLhttp://www.omnibus-jp.com/sakura/clipmail/clipmail.html

はじめまして。

clipmailを設置してみたのですが、
Undefined subroutine &main::encode_base64 called at clipmail.cgi line 526.
というエラーがでて送信ができません。

添付ファイルなしですと、送信できます。

全く詳しくないのですが、base64がサーバーにないとか
そういうことなのでしょうか?

サーバーはロリポップです。

よろしくお願い致します。


記事No: 9022
投稿日: 2011/08/26(Fri) 20:50:30
タイトルRe: clipmailでencode_base64 のエラー
ID情報: kent
投稿者: KENT

> はじめまして。
>
> clipmailを設置してみたのですが、
> Undefined subroutine &main::encode_base64 called at clipmail.cgi line 526.
> というエラーがでて送信ができません。
>
> 添付ファイルなしですと、送信できます。
>
> 全く詳しくないのですが、base64がサーバーにないとか
> そういうことなのでしょうか?

MIME::Base64は、ロードは成功しているのでしょうね。
encode_base64サブルーチンが実行できないというようなエラーに見えます。
ためしに、523行目にて

open(IN,"$cf{upldir}/$tmpfile");



open(IN,"$cf{upldir}/$tmpfile") or die;

とするとどうなりますか?


記事No: 9052
投稿日: 2011/08/29(Mon) 11:44:59
タイトルRe^2: clipmailでencode_base64 のエラー
ID情報: junpei66
投稿者: とつん
URLhttp://www.omnibus-jp.com/sakura/clipmail/clipmail.html

ご返信ありがとうございます。

open(IN,"$cf{upldir}/$tmpfile") or die;

に書き換えてみましたが、同じエラーがでます。
引き続きよろしくお願い致します。

> > はじめまして。
> >
> > clipmailを設置してみたのですが、
> > Undefined subroutine &main::encode_base64 called at clipmail.cgi line 526.
> > というエラーがでて送信ができません。
> >
> > 添付ファイルなしですと、送信できます。
> >
> > 全く詳しくないのですが、base64がサーバーにないとか
> > そういうことなのでしょうか?
>
> MIME::Base64は、ロードは成功しているのでしょうね。
> encode_base64サブルーチンが実行できないというようなエラーに見えます。
> ためしに、523行目にて
>
> open(IN,"$cf{upldir}/$tmpfile");
>
> ↓
>
> open(IN,"$cf{upldir}/$tmpfile") or die;
>
> とするとどうなりますか?


記事No: 9059
投稿日: 2011/08/29(Mon) 17:46:23
タイトルRe^3: clipmailでencode_base64 のエラー
ID情報: kent
投稿者: KENT

> ご返信ありがとうございます。
>
> open(IN,"$cf{upldir}/$tmpfile") or die;
>
> に書き換えてみましたが、同じエラーがでます。
> 引き続きよろしくお願い致します。

知り合いにロリポップの環境があるので、試してみたところ正常に動作しましたよ。

ためしに、MIME::Base64を新バンージョンで使ってみましょう。

以下から Base64.pmをダウンロードしてください。

http://cpansearch.perl.org/src/GAAS/MIME-Base64-3.13/

次に、

lib/MIME/フォルダを作成して、そこへ転送してください(パーミッションは設定必要なし)。

(転送後)
lib/MIME/Base64.pm


記事No: 9067
投稿日: 2011/08/29(Mon) 18:40:36
タイトルRe^4: clipmailでencode_base64 のエラー
ID情報: junpei66
投稿者: とつん
URLhttp://www.omnibus-jp.com/sakura/clipmail/clipmail.html

わざわざ試していただいたということで、申し訳ございません。
ありがとうございます。

下記の通りにやってみたのですが、

Software error:
MIME::Base64 object version 3.07 does not match bootstrap parameter 3.13 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 253.

Software error:
[Mon Aug 29 18:33:18 2011] clipmail.cgi: MIME::Base64 object version 3.07 does not match bootstrap parameter 3.13 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 253.
Compilation failed in require at (eval 2) line 373.

この2つのエラーが出るようになりました。

今回は添付ファイルなしでも送信できません。

lib/Jcode/MIME/Base64.pm
というのが元々ありますが、これとは別にアップする、
ということですよね?


> > ご返信ありがとうございます。
> >
> > open(IN,"$cf{upldir}/$tmpfile") or die;
> >
> > に書き換えてみましたが、同じエラーがでます。
> > 引き続きよろしくお願い致します。
>
> 知り合いにロリポップの環境があるので、試してみたところ正常に動作しましたよ。
>
> ためしに、MIME::Base64を新バンージョンで使ってみましょう。
>
> 以下から Base64.pmをダウンロードしてください。
>
> http://cpansearch.perl.org/src/GAAS/MIME-Base64-3.13/
>
> 次に、
>
> lib/MIME/フォルダを作成して、そこへ転送してください(パーミッションは設定必要なし)。
>
> (転送後)
> lib/MIME/Base64.pm
>
>


記事No: 9072
投稿日: 2011/08/29(Mon) 20:35:17
タイトルRe^5: clipmailでencode_base64 のエラー
ID情報: kent
投稿者: KENT

> Software error:
> MIME::Base64 object version 3.07 does not match bootstrap parameter 3.13 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 253.
>
> Software error:
> [Mon Aug 29 18:33:18 2011] clipmail.cgi: MIME::Base64 object version 3.07 does not match bootstrap parameter 3.13 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 253.
> Compilation failed in require at (eval 2) line 373.
>
> この2つのエラーが出るようになりました。

連携する別のモジュールのバージョンが合わないと言っているようです。たぶんお使いのサーバのPerl環境が古いようです。
それでは、別の対策を考えてみましょう。

(1) lib/MIME/Base64.pm を削除

(2) 以下のmimew.plをダウンロードする
http://www.cc.rim.or.jp/~ikuta/mime_pls/mimew.pl

(3) (2)のmimew.plをlibディレクトリに置く
lib/mimew.pl

(4) clipmail.cgi 521行目を修正

■変更前
my $buf;
open(IN,"$cf{upldir}/$tmpfile");
binmode(IN);
while ( read(IN, $buf, 60*57) ) {
$body .= encode_base64($buf);
}
close(IN);

■変更後
require "./lib/mimew.pl";
open(IN,"$cf{upldir}/$tmpfile");
binmode(IN);
while (<IN>) {
$body .= &bodyencode($_, "b64");
}
$body .= &benflush("b64");
close(IN);


記事No: 9075
投稿日: 2011/08/29(Mon) 22:31:14
タイトルRe^6: clipmailでencode_base64 のエラー
ID情報: junpei66
投稿者: とつん
URLhttp://www.omnibus-jp.com/sakura/clipmail/clipmail.html

添付ファイル送信できました!
助けていただき、ありがとうございます。

check.cgiで見ると、
&#8226;Perlバージョン : 5.008008
とのことです。古いのでしょうか?
同じレンタルサーバでもマシンによって環境が違うということなのですね。

これからもよろしくお願い致します。


> > Software error:
> > MIME::Base64 object version 3.07 does not match bootstrap parameter 3.13 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 253.
> >
> > Software error:
> > [Mon Aug 29 18:33:18 2011] clipmail.cgi: MIME::Base64 object version 3.07 does not match bootstrap parameter 3.13 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 253.
> > Compilation failed in require at (eval 2) line 373.
> >
> > この2つのエラーが出るようになりました。
>
> 連携する別のモジュールのバージョンが合わないと言っているようです。たぶんお使いのサーバのPerl環境が古いようです。
> それでは、別の対策を考えてみましょう。
>
> (1) lib/MIME/Base64.pm を削除
>
> (2) 以下のmimew.plをダウンロードする
> http://www.cc.rim.or.jp/~ikuta/mime_pls/mimew.pl
>
> (3) (2)のmimew.plをlibディレクトリに置く
> lib/mimew.pl
>
> (4) clipmail.cgi 521行目を修正
>
> ■変更前
> my $buf;
> open(IN,"$cf{upldir}/$tmpfile");
> binmode(IN);
> while ( read(IN, $buf, 60*57) ) {
> $body .= encode_base64($buf);
> }
> close(IN);
>
> ■変更後
> require "./lib/mimew.pl";
> open(IN,"$cf{upldir}/$tmpfile");
> binmode(IN);
> while (<IN>) {
> $body .= &bodyencode($_, "b64");
> }
> $body .= &benflush("b64");
> close(IN);


[検索ページ]