CygwinでTime::Pieceのインストールに失敗したときは dosish.h.new -> dosish.h のリンクを作ってみる

Time::Pieceをインストールしようと思ったら、エラーでmakeが失敗してしまいました。

$ perl -MCPAN -e 'install Time::Piece'
..
..
/usr/bin/perl.exe /usr/lib/perl5/5.10/ExtUtils/xsubpp  -typemap /usr/lib/perl5/5.10/ExtUtils/typemap  Piece.xs > Piece.xsc && mv Piece.xsc Piece.c
make: *** No rule to make target `/usr/lib/perl5/5.10/i686-cygwin/CORE/dosish.h', needed by `Piece.o'.  Stop.
  MSERGEANT/Time-Piece-1.20.tar.gz
  /usr/bin/make -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible

/usr/lib/perl5/5.10/i686-cygwin/CORE/dosish.h というファイルがなさそう。

$ ls -l /usr/lib/perl5/5.10/i686-cygwin/CORE/dosish.h
ls: cannot access /usr/lib/perl5/5.10/i686-cygwin/CORE/dosish.h: No such file or directory

dosish.h.new という名前のファイルがあったので、とりあえずシンボリックリンクを作ってみる。

$ ln -s /usr/lib/perl5/5.10/i686-cygwin/CORE/dosish.h.new /usr/lib/perl5/5.10/i686-cygwin/CORE/dosish.h
$ perl -MCPAN -e 'install Time::Piece'
..
..
PERL_DL_NONLAZY=1 /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01base.t ...... ok
t/02core.t ...... ok
t/03compare.t ... ok
t/04mjd.t ....... ok
t/05overload.t .. ok
t/06subclass.t .. ok
t/07arith.t ..... ok
All tests successful.
Files=7, Tests=156,  2 wallclock secs ( 0.09 usr  0.12 sys +  1.10 cusr  0.87 csys =  2.19 CPU)
Result: PASS
  MSERGEANT/Time-Piece-1.20.tar.gz
  /usr/bin/make test -- OK
Running make install
Prepending /home/.cpan/build/Time-Piece-1.20-b1ZJr6/blib/arch /home/.cpan/build/Time-Piece-1.20-b1ZJr6/blib/lib to PERL5LIB for 'install'
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/lib/perl5/5.10/i686-cygwin/auto/Time/Piece/Piece.dll
Installing /usr/lib/perl5/5.10/i686-cygwin/Time/Piece.pm
Installing /usr/lib/perl5/5.10/i686-cygwin/Time/Seconds.pm
Installing /usr/share/man/man3/Time.Piece.3pm
Installing /usr/share/man/man3/Time.Seconds.3pm
Appending installation info to /usr/lib/perl5/5.10/i686-cygwin/perllocal.pod
  MSERGEANT/Time-Piece-1.20.tar.gz
  /usr/bin/make install  -- OK

テストも通ってるし、まあOKでしょう。