2011-05-27 125 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版本。