Image :: Imlib2-> load(" filename")表示文件不存在,即使它确实存在

时间:2012-07-06 14:22:26

标签: perl

use Image::Imlib2;
my $a = Image::Imlib2->load("/foo/file");

给了我以下错误:

Runtime error: Image::Imlib2 load error: File does not exist at (eval 469) line 6.

请注意/ foo / file是CIFS安装的目录,这仅适用于CIFS安装目录上的文件。另一个复杂因素是这种情况发生在Debian Squeeze上,而不是Debian Lenny上。

1 个答案:

答案 0 :(得分:1)

解决方案是使用'noserverino'选项挂载CIFS目录。

Image :: Imlib2是Imlib2 C库周围的Perl包装器。问题是CIFS服务器可以返回inode整数值> 31 ^ 2。这使得没有使用LFS(大文件支持)编译的程序抛出glibc EOVERFLOW错误。编译具有LFS支持的程序(即使用-D_FILE_OFFSET_BITS = 64)或使用“noserverino”挂载选项。但您可能无法正确检测硬链接。

http://linux.die.net/man/8/mount.cifs