Plaggerを入れるまで その5 Encode::Detect

コンパイルできない〜!


CPAN Terminal> i Encode::Detect
...
Creating new 'Build' script for 'Encode-Detect' version '1.01'
[ERROR] MAKE failed: /usr/local/bin/perl Build --makefile_env_macros 1
/opt/SUNWspro/bin/cc -Isrc -I/usr/local/lib/perl5/5.10.0/i86pc-solaris-thread-multi/CORE
-KPIC -x c++ -Iinclude -c -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV -O -o src/nsMBCSGroupProber.o src/nsMBCSGroupProber.cpp
cc: Warning: illegal option -x
cc: No input file specified, no output generated
error building src/nsMBCSGroupProber.o from 'src/nsMBCSGroupProber.cpp' at /usr/local/lib/perl5/5.10.0/ExtUtils/CBuilder/Base.pm line 109.
*** Error code 2
make: Fatal error: Command failed for target `all'

中のBuild.plがgcc専用になってたりするような?よくわかりません。。。
とりあえず、gccコンパイルさせるともうちょっと進みますが、、


...
In file included from /export/home/handler/local/lib/perl5/5.10.0/i86pc-solaris-thread-multi/CORE/perl.h:1396,
from lib/Encode/Detect/Detector.xs:40:
/usr/include/sys/mode.h:49: error: use of enum `vtype' without previous declaration

*** Error code 2
make: Fatal error: Command failed for target `all'

で、ソレはどうかと思う!って方法で通しました。


$ cd $HOME/local/lib/perl5/5.10.0/i86pc-solaris-thread-multi/CORE/
$ cp -p perl.h perl.h.org
$ vi perl.h
...
//#include
...
続き。

$ make
...
Manifying blib/lib/Encode/Detect.pm -> blib/libdoc/Encode::Detect.3
Manifying blib/lib/Encode/Detect/Detector.pm -> blib/libdoc/Encode::Detect::Detector.3
$ make test
...
All tests successful.
Files=2, Tests=13, 1 wallclock secs ( 0.35 cusr + 0.18 csys = 0.53 CPU)

エー。戻し忘れないように。
いや、この方法は最悪だ。。。