FreeBSD: p5-Mouse-2.0.0,1 更新でエラー発生

portversion で確認したところ、

 p5-Mouse-2.0.0,1            <  needs updating (port has 2.1.0,1)

ということで、p5-Mouse の更新があったようです。
早速、portupgrade コマンドで更新を行おうとしたところ、以下のエラーが発生。

cc -I. -Ixs-src -I/usr/local/lib/perl5/5.12/mach/CORE -DPIC -fPIC -Wall -Wextra -Wdeclaration-after-statement -Wc++-compat -c -DAPPLLIB_EXP=/usr/local/lib/perl5/5.12/BSDPAN -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -O2 -pipe -fno-strict-aliasing -o xs-src/MouseUtil.o xs-src/MouseUtil.c
 xs-src/MouseTypeConstraints.xs: In function 'boot_Mouse__Util':
 xs-src/MouseTypeConstraints.xs:609: warning: implicit declaration of function 'setup_my_cxt'
 xs-src/MouseTypeConstraints.xs:612: warning: implicit declaration of function 'DEFINE_TC'
 xs-src/MouseTypeConstraints.xs:612: error: 'Any' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:612: error: (Each undeclared identifier is reported only once
 xs-src/MouseTypeConstraints.xs:612: error: for each function it appears in.)
 xs-src/MouseTypeConstraints.xs:613: error: 'Undef' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:614: error: 'Defined' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:615: error: 'Bool' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:616: error: 'Value' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:617: error: 'Ref' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:618: error: 'Str' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:619: error: 'Num' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:620: error: 'Int' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:621: error: 'ScalarRef' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:622: error: 'ArrayRef' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:623: error: 'HashRef' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:624: error: 'CodeRef' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:625: error: 'GlobRef' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:626: error: 'FileHandle' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:627: error: 'RegexpRef' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:628: error: 'Object' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:629: error: 'ClassName' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:630: error: 'RoleName' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:695: error: 'MTC_CLASS' undeclared (first use in this function)
 xs-src/MouseTypeConstraints.xs:695: error: expected ')' before string constant
 xs-src/MouseTypeConstraints.xs:696: error: too few arguments to function 'Perl_newXS'
 xs-src/MouseTypeConstraints.xs:699: error: expected ')' before string constant
 xs-src/MouseTypeConstraints.xs:699: error: too few arguments to function 'Perl_get_sv'
 xs-src/MouseTypeConstraints.xs:706: error: expected ')' before string constant
 xs-src/MouseTypeConstraints.xs:706: error: too few arguments to function 'Perl_get_cv'
 xs-src/MouseTypeConstraints.xs:709: error: expected ')' before 'MTC_CLASS'
 xs-src/MouseTypeConstraints.xs:709: error: expected ')' before string constant
 xs-src/MouseTypeConstraints.xs:715: error: expected ')' before string constant
 xs-src/MouseTypeConstraints.xs:715: error: too few arguments to function 'Perl_get_cv'
 xs-src/MouseTypeConstraints.xs:718: error: expected ')' before 'MTC_CLASS'
 xs-src/MouseTypeConstraints.xs:718: error: expected ')' before string constant
 xs-src/MouseTypeConstraints.xs:724: error: expected ')' before string constant
 xs-src/MouseTypeConstraints.xs:724: error: too few arguments to function 'Perl_get_cv'
 xs-src/MouseTypeConstraints.xs:727: error: expected ')' before 'MTC_CLASS'
 xs-src/MouseTypeConstraints.xs:727: error: expected ')' before string constant
 error building xs-src/MouseUtil.o from 'xs-src/MouseUtil.c' at /usr/local/lib/perl5/5.12/ExtUtils/CBuilder/Base.pm line 112, <DATA> line 1.
*** Error code 2
Stop in /usr/ports/devel/p5-Mouse.

エラーの原因となっているのは、Base.pm という perl モジュールのようで、これがどこに含まれているのかというと、perl5.12-5.12.5_2 で、perl 本体に含まれるモジュールのようです。これはうかつにはさわれません。

さて、どうしたものか。

二日ほど放置したところ、

p5-IO-Socket-SSL-1.961 < needs updating (port has 1.962)
p5-Mouse-2.0.0,1 < needs updating (port has 2.1.0,1)
p5-Net-DNS-0.72 < needs updating (port has 0.73)
p5-YAML-Tiny-1.55 < needs updating (port has 1.56)
perl5.12-5.12.5_2 < needs updating (port has 5.12.5_3)

と p5-Mouse が依存しているモジュールがアップデートされました。ひょっとして、解決しているかも・・・と甘い考えで、再度ビルドにチャレンジするものの、

error building xs-src/MouseUtil.o from 'xs-src/MouseUtil.c' at /usr/local/lib/perl5/5.12/ExtUtils/CBuilder/Base.pm line 112, <DATA> line 1.
*** Error code 2

Stop in /usr/ports/devel/p5-Mouse.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20131201-3072-11px4x env UPGRADE_TOOL=portupgrade UPGRADE_PORT=p5-Mouse-2.0.0,1 UPGRADE_PORT_VER=2.0.0,1 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
 - devel/smake (marked as IGNORE)
 ! devel/p5-Mouse (p5-Mouse-2.0.0,1) (compiler error)

という結果で駄目でした。

そもそも、マウスのつながっていないサーバーに、なぜ Mouse関係のパッケージがインストールされたのかと、依存性をチェックしてみると、

# pkg_info -rR p5-Mouse-2.0.0,1
Information for p5-Mouse-2.0.0,1:

Depends on:
Dependency: perl5.12-5.12.5_3
Required by:
p5-Net-Dropbox-API-1.9

と、なっていて、以前 FreeBSD で Dropboxを使えるようにならないかと試したことがある、今は不要になっている p5-Net-Dropbox-API-1.9 が必要としているためでした。その他に依存関係はないようです。
Dropboxとの通信には、dropbox-api-command パッケージを使わせてもらっているため、Net-Dropbox-API-1.9 と p5-Mouse-2.0.0,1 はいらないんじゃないの?ということで、大した容量節約になるわけではありませんが、使っていないパッケージは消すことで対策することにしました。
要するに諦めたって事ね。

コメントを残す