出来た!!

どうやらcygwinperlにバグがあるらしい。
詳しくはここ
要は、現在最新のPerlバイナリは改行コードを勝手に\r\nにしてくれるのだ。
このリンク先にあるように、perlのバージョンをひとつ落とすことで、YamChaのmake check問題は解決。

で、結局YamChaはTinySVMのshared libraryを要求していないので、TinySVMは--enable-shared=noでコンパイルしても問題ない。
よって、22日に載せたインチキパッチは必要なし。

また、YamChaもChaSenもshared libraryである必要はないみたい。
なので、この2つも--enable-shared=noでコンパイルしてOK。

問題のCaboChaは、やっぱりshared library化するとコンパイルが通らない。
更に、ChaSenのstatic libraryを利用したいので、以下のようにすればconfigureすれば良い。

./configure --enable-shared=no --enable-chasen-static=yes

更に、ChaSenのstatic libraryを利用するにあたって、ちょっとしたバグがあるので次のパッチを当ててコンパイルする。

 --- cabocha-0.40/src/chasenio.cpp.org
 +++ cabocha-0.40/src/chasenio.cpp
@@ -112,7 +112,7 @@
 #ifndef CHASEN_USE_STATIC
     char *p = (char *)(*(instance->fpParse))(tree->sentence.c_str());
 #else
 -    char *p = (char *)chasen_sparse_tostr(const_casttree->sentence.c_st
r()));
 +    char *p = (char *)chasen_sparse_tostr(const_cast(tree->sentence.c_s
tr()));
 #endif
     std::istrstream istr (p, strlen (p));
     tree->read (istr, INPUT_POS);

以上で、cygwin環境でもCaboChaが使えます。
いやー長い道のりであった。