Cygwin上でのIPC::ShareLite0.09のインストール
ShareLite.cとsharelite.cという二つのファイルが存在することになるのですが、Cygwin(というかWindows)では大文字小文字の区別がされずビルドに失敗します。
そこでsharelite.cのファイル名を変更してごにょごにょしてインストールします。
cpan> look IPC::ShareLite $ mv sharelite.c sharelite_c.c $ vi MANIFEST $ vi Makefile.PL $ vi Configure $ diff -Naru MANIFEST.orig MANIFEST --- MANIFEST.orig 2006-07-07 14:40:52.148379200 -0700 +++ MANIFEST 2006-07-07 14:40:56.634830400 -0700 @@ -8,7 +8,7 @@ ShareLite.pm ShareLite.xs sharelite.h -sharelite.c +sharelite_c.c typemap test.pl TODO $ diff -Naru Makefile.PL.orig Makefile.PL --- Makefile.PL.orig 2006-07-07 12:13:04.324334400 -0700 +++ Makefile.PL 2006-07-07 12:12:08.133536000 -0700 @@ -10,7 +10,7 @@ 'LIBS' => [''], # e.g., '-lm' 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' 'INC' => '', # e.g., '-I/usr/include/other' - 'OBJECT' => 'sharelite.o ShareLite.o', + 'OBJECT' => 'sharelite_c.o ShareLite.o', 'dist' => { COMPRESS => 'gzip', SUFFIX => 'gz', }, $ diff -Naru Configure.orig Configure --- Configure.orig 2006-07-07 14:41:21.430484800 -0700 +++ Configure 2006-07-07 14:53:44.969641600 -0700 @@ -59,10 +59,12 @@ p_=: : On OS/2 this directory should exist if this is not floppy only system :-] if test -d c:/.; then +if test x`uname -o` != x"Cygwin"; then p_=\; PATH=`cmd /c "echo %PATH%" | tr '\\\\' / ` OS2_SHELL=`cmd /c "echo %OS2_SHELL%" | tr '\\\\' / | tr '[A-Z]' '[a-z]'` fi +fi : Proper PATH setting paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' $ perl Makefile.PL $ make $ make test $ make install