2011-05-27 205 views
0

我安装了fusefs-osx 0.7.0 gem,但示例脚本无法安装。我试过hello.rb和yamlfs.rb。该脚本不会中止,并且挂载点的Finder图标更改为挂载磁盘,但我无法访问该内容。如果我尝试“ls”,我会得到“输入/输出错误”。ruby​​ fusefs-osx gem无法正确安装

在ruby进程上运行lsof显示gem的fusefs_lib.bundle和/opt/local/lib/libfuse_ino64.2.dylib已加载。 “/ dev/fuse0”也在列表中。

lsof的还给出了这样的错误:

lsof: WARNING: can't stat() fusefs file system /fusefs/rb_hello 
     Output information may be incomplete. 
     assuming "dev=2d00000b" from mount table 

的 “加载” 命令显示(用户名消隐):

[email protected] on /fusefs/rb_hello (fusefs, nodev, nosuid, synchronous, mounted by ...) 

当我CTRL-C的脚本,我必须手动卸除点。

系统信息:

Leopard 10.5.8 
ruby enterprise 1.8.7-2011.03 (i386 only) 
libfuse 2.7.3 installed via Macports 

我也尝试安装在系统红宝石宝石,但我得到了相同的结果。

Google对此问题没有任何结果。

回答

0

那么,在gem的ext目录中查找并查看fuse-python脚本的lsof输出后,我发现了一个解决方法。基本上,我编辑像这样的extconf.rb:

$ DIFF extconf.rb.orig extconf.rb

3c3 
< if have_library('fuse_ino64') || have_library('fuse') 
--- 
> if have_library('fuse') 

然后运行:

make clean 
ruby extconf.rb 
make 

然后fusefs_lib.bundle复制到lib目录。这实际上并不需要,因为gem总是从ext目录加载。

我想我在某处阅读雪豹需要ino64版本。