MacOSX下使用homebrew安裝fuse4x並測試 一直在台式機上的Debian虛擬機器裡做6.824的實驗,想挪到MBP上做,不想再裝個debian的虛擬機器。以前在Mac下搞過fuse,當時是有個東西叫做MacFuse,但是後來好像不好用了,有一個比較好的替代品是Fuse4x。 www.2cto.com Homebrew是一個類似MacPorts,Pink的包管理軟體。以前一直用MacPorts,很方便,但是有一個很大問題是它會直接用自己的包替代到系統的包,之前因為這個再一次系統升級之後把系統搞崩了。後來被朱神推薦用Homebrew,正好試一下。 安裝Homebrew(安裝前卸載Macports,Pink): Shell代碼 ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)" 使用Homebrew安裝Fuse4x: www.2cto.com Shell代碼 brew install fuse4x 把fuse4x-kext核心擴充拷到對應位置,並修改許可權: Shell代碼 sudo cp -rfX /usr/local/Cellar/fuse4x-kext/0.9.1/Library/Extensions/fuse4x.kext /Library/Extensions sudo chmod +s /Library/Extensions/fuse4x.kext/Support/load_fuse4x www.2cto.com 嘗試編譯Fuse Helloworld的來源程式,注意加-D_FILE_OFFSET_BITS=64選項。編譯失敗,提示如下 Shell代碼 ndefined symbols for architecture x86_64: "_fuse_main_real", referenced from: _main in ccIcpRVe.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status 再安裝sshfs,其實是為了安裝許多依賴包,比如pkg-config www.2cto.com Shell代碼 brew install sshfs 再次嘗試編譯: Shell代碼 gcc -Wall `pkg-config fuse --cflags --libs` hello.c -o hello 成功。