Config::Pitを使おうとしてワケ分からないことに

設定を管理する pit の Perl もづーる Config::Pit - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech
Config::Pit というモジュールが便利だそうだ、という噂を聞いたのでインストールしようとしたら、つまづいた。
CPANコマンドで

> install Config::Pit

ってやればいいだけかと思ってたら、何故か失敗する。
よくよくエラーメッセージを読んでみると、途中でFile::HomeDirをインストールしようとして失敗している模様。
じゃあFile::HomeDirが何故失敗するのかとエラーメッセージを読んでみると、途中でMac::Carbonをインストールしようとして失敗している。

In file included from AppleEvents.xs:63:
../Carbon.h: In function ‘ReadHex’:
../Carbon.h:116: warning: ISO C90 forbids mixed declarations and code
../Carbon.h: In function ‘SecondsMac2Unix’:
../Carbon.h:167: warning: ‘ConvertLocalTimeToUTC’ is deprecated (declared at /System/Library/Framewo
rks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/UTCUtils.h:86)
../Carbon.h: In function ‘SecondsUnix2Mac’:
../Carbon.h:179: warning: ‘ConvertUTCToLocalTime’ is deprecated (declared at /System/Library/Framewo
rks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/UTCUtils.h:110)
../Carbon.h: In function ‘GUSIFSpUp’:
../Carbon.h:207: warning: ‘FSMakeFSSpec’ is deprecated (declared at /System/Library/Frameworks/CoreS
ervices.framework/Frameworks/CarbonCore.framework/Headers/Files.h:10072)
../Carbon.h: In function ‘GUSIFSpDown’:
../Carbon.h:229: warning: ‘PBGetCatInfoSync’ is deprecated (declared at /System/Library/Frameworks/C
oreServices.framework/Frameworks/CarbonCore.framework/Headers/Files.h:8697)
../Carbon.h:232: warning: pointer targets in passing argument 1 of ‘MacPerl_CopyC2P’ differ in signe
dness
../Carbon.h:233: warning: ‘FSMakeFSSpec’ is deprecated (declared at /System/Library/Frameworks/CoreS
ervices.framework/Frameworks/CarbonCore.framework/Headers/Files.h:10072)
../Carbon.h: In function ‘GUSIFSp2FullPath’:
../Carbon.h:265: warning: ‘FSpMakeFSRef’ is deprecated (declared at /System/Library/Frameworks/CoreS
ervices.framework/Frameworks/CarbonCore.framework/Headers/Files.h:7477)
../Carbon.h:278: warning: ‘FSpMakeFSRef’ is deprecated (declared at /System/Library/Frameworks/CoreS
ervices.framework/Frameworks/CarbonCore.framework/Headers/Files.h:7477)
../Carbon.h:283: warning: pointer targets in passing argument 2 of ‘strncpy’ differ in signedness
../Carbon.h:290: warning: pointer targets in assignment differ in signedness
../Carbon.h:292: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
../Carbon.h: In function ‘GUSIPath2FSp’:
...

なんじゃこりゃー。さっぱり分からん。


とりあえずCPANコマンドではMac::Carbonをインストールできないが、ソースを持ってきて

$ perl Makefile.PL
$ sudo make
$ sudo make install

とやると、同じようなエラーメッセージはずらずらと吐き出されるもののインストールはできてしまう。
あとはConfig::PitのインストールもCPANコマンドでやり直したらできてしまった。。。
なんだか気持ち悪いけどとりあえず使えるようになったからいいか…