私の場合、けっこう前から、ず~っとそうだったんですが、FreeBSDでopenoffice.org-2.0をportsからインストールしようとしても、1度も成功したことがありませんでした。
さんざんいろいろコンパイルして、けっこう時間がたってから、epmというコマンドでエラーになって終わってしまいます。
・・・で、なんか急にひらめいて、もしかしてこれがエラーの原因?みたいなことがわかりました。ただ、ちゃんと正確な原因がつかみきれていないので(ビルドするのに時間がかかるので、そうそう何度もやりたくない)、ただの「おまじない」かもしれないし、たまたまうまくいっただけとか、気のせいとか、そういうあいまいなところもあるんですが・・・
☆ ☆ ☆ ☆ ☆ ☆
標準ではportsのディレクトリは、/usr/ports/~、そして、コンパイル作業ディレクトリは各portsのディレクトリにworkというサブディレクトリがつくられます。たとえばopenofficeだったら、
- portsのディレクトリが
/usr/ports/editors/openoffice.org-2.0/ - コンパイル作業が行われるのが
/usr/ports/editors/openoffice.org-2.0/work/
となっています。
私の場合、いつもportsは、/usrパーティションとは別のパーティションにおいておき(amdでNFSマウントするので、/a/ホスト/なんとか~/portsだったり)、/usr/portsからシンボリックリンクを張っておきます。
そして、workディレクトリも、/etc/make.confにて、WRKDIRPREFIX=/なんとか/かんとか/ports_work、のように指定して、速いディスク上に作られるようにしたりしています(portsをNFSマウントしているときは、NFSマウント先にworkディレクトリが作られたりしたら、遅くなるし、さらに、OSのバージョンが異なるときに同じworkが参照されたりしたら、悲惨な結果になるし・・・)。
・・・で、openofficeのビルドが失敗するのは、どうも、workディレクトリのパスが長くなるときに、エラーになっているんじゃないかと思うんです。
エラーがでたときのログを、以下に貼り付けて起きます。
ESP Package Manager v3.7.0
Copyright 1999-2003 by Easy Software Products.
Patched for OpenOffice.org
EPM is free software and comes with ABSOLUTELY NO WARRANTY; for details
see the GNU General Public License in the file COPYING or at
"http://www.fsf.org/gpl.html". Report all problems to "epm@easysw.com".
Searching for product information...
Stripping executables in distribution...
Creating FreeBSD pkg distribution...
Creating descr file...
Creating comment file...
Creating plist file...
Copying temporary distribution files...
Packaging failed!
Try 3 : Could not execute "epm -f bsd openoffice.org-sdk /なんとか/かんとか/けっこう長い/ports.work/usr/ports/editors/openoffice.org-2.0/work/OOC680_m7/instsetoo_native/unxfbsdi.pro/OpenOffice_SDK/bsd/listfile/en-US/epm_OpenOffice_SDK_gid_Module_Root_unxfbsdi_OOC680__en-US.lst -v 2>&1 |"!
Moved directory from /なんとか/かんとか/けっこう長い/ports.work/usr/ports/editors/openoffice.org-2.0/work/OOC680_m7/instsetoo_native/unxfbsdi.pro/OpenOffice_SDK/bsd/install/en-US_inprogress to /なんとか/かんとか/けっこう長い/ports.work/usr/ports/editors/openoffice.org-2.0/work/OOC680_m7/instsetoo_native/unxfbsdi.pro/OpenOffice_SDK/bsd/install/en-US_witherror
Removing directory /なんとか/かんとか/けっこう長い/ports.work/usr/ports/editors/openoffice.org-2.0/work/OOC680_m7/instsetoo_native/unxfbsdi.pro/OpenOffice_SDK/bsd/zip/en-US
***************************************************************
ERROR: "epm -f bsd openoffice.org-sdk /なんとか/かんとか/けっこう長い/ports.work/usr/ports/editors/openoffice.org-2.0/work/OOC680_m7/instsetoo_native/unxfbsdi.pro/OpenOffice_SDK/bsd/listfile/en-US/epm_OpenOffice_SDK_gid_Module_Root_unxfbsdi_OOC680__en-US.lst -v 2>&1 |"!
in function: call_epm
***************************************************************
パスが長いってのは、
/なんとか/かんとか/けっこう長い/ports.work/usr/ports/editors/openoffice.org-2.0/work/OOC680_m7/instsetoo_native/unxfbsdi.pro/OpenOffice_SDK/bsd/listfile/en-US/epm_OpenOffice_SDK_gid_Module_Root_unxfbsdi_OOC680__en-US.lst
みたいな部分のことです。
で、
portsのディレクトリが
/usr/ports/editors/openoffice.org-2.0/
コンパイル作業が行われるのが
/usr/ports/editors/openoffice.org-2.0/work/
にしていると、ちゃんとビルドできたんです。
何回か思考錯誤してみたんですが、本当にパスが長いとエラーになってしまうのか、100%の確証はないんですが、どうも、パスの長さが原因なのかなぁ?・・・と、そういう気がしてなりません。
0 件のコメント:
コメントを投稿