「mknmz」カテゴリーアーカイブ

Day too big – 36536 > 24853 エラー

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;
}

 

Perl 5.26 対応

  • Perl 5.26 だと、filter/hnf.pl のパターンマッチングでエラーが 発生する箇所があったので修正しました。

  • これまでは require でカレントディレクトリのファイルの読み込みが 可能でしたが、Perl 5.26 では読み込まれなくなったようなので、@INC に “.” を含めるよう pltests を修正しました。

 

Windows Subsystem for Linux(WSL) で Namazu を使用する方法

Windows の Namazu としては Namazu for Windows が一般的ですが、Windows 10 Fall Creators Update の Windows Subsystem for Linux (WSL) でも Namazu が使用できます。

この記事では、WSL で Namazu を使用する方法を紹介します。

WSL で Namazu

続きを読む Windows Subsystem for Linux(WSL) で Namazu を使用する方法