作者: WATANABE Hirofumi
日時: 2004/4/09(22:11)
わたなべです。

藤岡和夫 <kazuf@...> writes:

> ld --base-file Dumper.base --dll -o Dumper.dll Dumper.o  init.o fixup.o -L../..
> -L/gnuwin32/H-i386-cygwin32/i386-cygwin32/lib -lperlexp -lcygwin -e _dll_entry@...
> 2
> ld: cannot find -lperlexp
> system() failed.
> make[1]: *** [../../../lib/auto/Data/Dumper/Dumper.dll] Error 1
> make[1]: Leaving directory `/tmp/perl5.005_04/ext/Data/Dumper'
> make: *** [lib/auto/Data/Dumper/Dumper.dll] Error 2> -- 
> 
>  これは通るのかなと思ったのですが、残念ながら止まってしまいました(;_;)

ここは最初からオリジナルに存在するバグです。たぶんCygwin対応
のマージ作業に失敗したんだと思います。

> ld: cannot find -lperlexp
> 
> になぜなるのかわかりません。一つ前の同様の処理ではうまく動いています。

なぜかというとData::Dumperだけディレクトリが1段深くなってい
るからです。だから-L../..ではlibperlexp.aが見つかりません。
ここだけ-L../../..にする必要があります。
ext/Data/Dumper/MakefileのLDDFLAGSの部分を書き換えてください。

予告:
あとはあれとあれの[TCD]を[TCDB]に書き換えれば終了。

-- 
わたなべひろふみ