以下、メモ。
coLinux上で、DebianとGentooを走らせ、Perl5.8.4ないし5.8.6でCPAN shellを使ったのだが、以下のようなエラーが出てとまってしまう現象に出くわした。
Could not pipe[/bin/gzip --decompress --stdout ...]
Cannot allocate memory ...
詳しいひとにみてもらったら、「メモリが少ないのでは」とアドバイスを受けて、coLinuxの設定ファイル(.xml)のメモリの数値をデフォルトの64MBから256MBに増やしてみた。
<!-- this line allows you to specify the amount of memory available
to coLinux -->
<memory size="256" />
・・・見事、CPAN.pmががりがりと稼動。Linuxは非力なマシンでも動くという先入観からか、coLinuxの設定での、メモリ割り当てに全く無関心だった。散々悩んで手も足もでなかった問題が、そんなことだったとは・・・。
解決したあとでわかったことだが、パイプ処理をする場合、一度メモリの中にパイプして渡すデータを格納するので、メモリ容量を疑うのは大事らしい。
というわけで、まあたぶんいないだろうけど、Could not pipe...とかいうエラーが出てCPAN.pmが動かなくて困っている人は、メモリ増設を検討してみてはいかがでしょうかとかいってみる。