2020 年から、32bit OS で 古い Perl (5.12 か 5.10 より前ぐらいのバージョン)を使っていると、mknmz 実行時に “Day too big – 36536 > 24853” エラーが発生してインデックスの作成に失敗するそうです。
pl/time.pl の gettimezone を以下のものに置き換えると 期待した動作になることを確認しました。 (linux 32bit, Perl 5.8.8)
sub gettimezone { my ($t0, $t1); { my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(1000000); $year += 1900; $t0 = timelocal($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst); } { my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(1000000); $year += 1900; $t1 = timelocal($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst); } return $t0 - $t1; }
コメントを投稿するにはログインしてください。