WWW::MobileCarrierJPインストール

『IPアドレスブロックを集中管理する方法と、その活用法』
で紹介されているupdate-mobilejp-cidrを使おうとして、
WWW::MobileCarrierJPのインストールでちょっとハマったのでメモ。

なんかインストールこけちゃうよ!!

[root@cent ~]# cpan WWW::MobileCarrierJP
...
......Malformed UTF-8 character (fatal) at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/XML/LibXML/Error.pm line 217. at /usr/lib/perl5/site_perl/5.8.8/HTML/TreeBuilder/LibXML.pm line 59
...
Failed Test Stat Wstat Total Fail Failed List of Failed

                                                                                                                                                            • -

t/030_thirdforce/07_thirdforce_us 255 65280 7 14 200.00% 1-7
t/030_thirdforce/10_thirdforce_se 255 65280 13 26 200.00% 1-13
t/030_thirdforce/11_thirdforce_he 255 65280 ?? ?? % ??
t/030_thirdforce/15_thirdforce_ja 255 65280 12 24 200.00% 1-12
1 test skipped.
Failed 4/17 test scripts, 76.47% okay. 32/262 subtests failed, 87.79% okay.
make: *** [test_dynamic] エラー 255
/usr/bin/make test -- NOT OK

XML::LibXMLのバージョンを1.70から1.69にするといけた

[root@cent ~]# cpan P/PA/PAJAS/XML-LibXML-1.69_1.tar.gz
...
[root@cent ~]# perl -MXML::LibXML -e 'print $XML::LibXML::VERSION."\n"'
1.69_1
[root@cent ~]# cpan install WWW::MobileCarrierJP
...
/usr/bin/make install -- OK


ヽ( ´¬`)ノ ワ〜イ !!

[mikeda@cent cidr-manager]$ ./update-mobilejp-cidr -o /tmp/ip.d/
[mikeda@cent cidr-manager]$ cat /tmp/ip.d/docomo
111.89.188.0/24
111.89.189.0/24
111.89.190.0/24
111.89.191.0/24
124.146.174.0/24
124.146.175.0/24
202.229.176.0/24
202.229.177.0/24
202.229.178.0/24
202.229.179.0/24
210.136.161.0/24
210.153.84.0/24
210.153.86.0/24


なんでコケたのか、あとでソースコード追ってみよう。

追記)別のサーバでまたコケた

このテストでこける。このマシンのPerlバージョンは5.12.1。

t/030_thirdforce/15_thirdforce_java.t ....... 1/12 
#   Failed test 'check the 940SH'
#   at t/030_thirdforce/15_thirdforce_java.t line 24.
#     Structures begin differing at:
#          $got->{midp} = '2'
#     $expected->{midp} = '2.0'

#   Failed test 'check the 904T'
#   at t/030_thirdforce/15_thirdforce_java.t line 24.
#     Structures begin differing at:
#          $got->{midp} = '2'
#     $expected->{midp} = '2.0'

#   Failed test 'check the DM004SH'
#   at t/030_thirdforce/15_thirdforce_java.t line 24.
#     Structures begin differing at:
#          $got->{midp} = '2'
#     $expected->{midp} = '2.0'
# Looks like you failed 3 tests of 12.

特に害のなさそうなエラーなのでいったん無視しとく・・・

[root@mikeda ~]# cd .cpan/build/WWW-MobileCarrierJP-0.44-joq_uS
[root@mikeda WWW-MobileCarrierJP-0.44-joq_uS]# mv t/030_thirdforce/15_thirdforce_java.t{,.bak}
[root@mikeda WWW-MobileCarrierJP-0.44-joq_uS]# make test
All tests successful.
Files=16, Tests=240, 54 wallclock secs ( 0.09 usr  0.03 sys +  8.25 cusr  0.55 csys =  8.92 CPU)
Result: PASS
[root@mikeda WWW-MobileCarrierJP-0.44-joq_uS]# make install