2006年8月11日金曜日

(FreeBSD) portsでopenoffice.org-2.0がビルドできない問題 → とりあえず解決?

私の場合、けっこう前から、ず~っとそうだったんですが、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 件のコメント:

コメントを投稿