Perl の module は /usr/share/perl5/vendor_perl/<バージョン番号>/ 以下に放り込まれるらしい。
このため Cygwin の perl が 5.26 から 5.30 にバージョンアップ影響で、以前入れた ExifTool が動かなくなっていた。
そこで、アップデートしようとしたのだが Cygwin の公式リポジトリ上で見つからない。
あれ?っと思ったら、私家版 Cygwin ports から入れたのト忘れしてた。
ところが、cygport で build し直そうとしてみたところ、以下のように Makefile.PL でエラーが生じてビルドに失敗してしまった。
さっぱり見当がつかないので、「Only one of PREFIX or INSTALL_BASE can be given. Not both.」でググってみたところ以下のページを見つけた。
PERL_MM_OPT をクリアして make すれば OK らしい。
え〜?そんなの設定したっけ?と思って調べてみると確かに設定されてる。
と、それはさて置き、とりあえず PERL_MM_OPT をクリアして再ビルドしてみたところ、無事ビルドは完了したので当初の目的は達成出来たのであった。
いろいろなところで、記憶力が怪しいの地味に辛い。
このため Cygwin の perl が 5.26 から 5.30 にバージョンアップ影響で、以前入れた ExifTool が動かなくなっていた。
そこで、アップデートしようとしたのだが Cygwin の公式リポジトリ上で見つからない。
あれ?っと思ったら、私家版 Cygwin ports から入れたのト忘れしてた。
ところが、cygport で build し直そうとしてみたところ、以下のように Makefile.PL でエラーが生じてビルドに失敗してしまった。
$ cygport libimage-exiftool-perl-10.68-1.cygport all >>> Preparing libimage-exiftool-perl-10.68-1.x86_64 >>> Unpacking source Image-ExifTool-10.68.tar.gz >>> Preparing working source directory >>> Compiling libimage-exiftool-perl-10.68-1.x86_64 Only one of PREFIX or INSTALL_BASE can be given. Not both. Checking if your kit is complete... Looks good *** ERROR: Perl Makefile creation failed何だ?これは?
さっぱり見当がつかないので、「Only one of PREFIX or INSTALL_BASE can be given. Not both.」でググってみたところ以下のページを見つけた。
- Lism.in * blog - nekoya (id:studio-m) / 2009-10-19: CentOS5.3でgit1.6.5.1をビルドした # perl Makefile.PLのPREFIX指定がコケる
PERL_MM_OPT をクリアして make すれば OK らしい。
え〜?そんなの設定したっけ?と思って調べてみると確かに設定されてる。
$ declare -p PERL_MM_OPT declare -x PERL_MM_OPT="INSTALL_BASE=/home/kou/perl5"当該箇所の前後を確認してみると確かに local::lib っぽい設定が行われていた。
$ find ~/ -maxdepth 1 -iname '.*' -type f -exec grep -n PERL_MM_OPT {} + /home/kou/.bashrc:298:PERL_MM_OPT="INSTALL_BASE=/home/kou/perl5"; export PERL_MM_OPT;
$ grep -n ~/.bashrc ... 294:PATH="/home/kou/perl5/bin${PATH:+:${PATH}}"; export PATH; 295:PERL5LIB="/home/kou/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB; 296:PERL_LOCAL_LIB_ROOT="/home/kou/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT; 297:PERL_MB_OPT="--install_base \"/home/kou/perl5\""; export PERL_MB_OPT; 298:PERL_MM_OPT="INSTALL_BASE=/home/kou/perl5"; export PERL_MM_OPT; 299: 300:BROWSER=cygstart 301:普段ほとんど perl は使わなし、全く記憶に残ってなくてメモも残してないみたいなんだが、何時、何に使ったんだっけ???
と、それはさて置き、とりあえず PERL_MM_OPT をクリアして再ビルドしてみたところ、無事ビルドは完了したので当初の目的は達成出来たのであった。
$ PERL_MM_OPT= cygport libimage-exiftool-perl-10.68-1.cygport all >>> Preparing libimage-exiftool-perl-10.68-1.x86_64 >>> Unpacking source Image-ExifTool-10.68.tar.gz >>> Preparing working source directory >>> Compiling libimage-exiftool-perl-10.68-1.x86_64 Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Image::ExifTool Writing MYMETA.yml and MYMETA.json ... *** Info: No debug files, skipping debuginfo subpackage >>> Checking packages for missing or duplicate files >>> Creating source patches 0 files changed >>> Creating source package libimage-exiftool-perl-10.68-1.src/ libimage-exiftool-perl-10.68-1.src/Image-ExifTool-10.68.tar.gz libimage-exiftool-perl-10.68-1.src/libimage-exiftool-perl-10.68-1.cygport >>> libimage-exiftool-perl requires: perl perl-Digest-SHA perl-IO-String perl-TermReadKey perl_base
いろいろなところで、記憶力が怪しいの地味に辛い。
タグ
コメントをかく