2012-08-13 154 views
1

我想在我的OS X Mountain Lion上安裝ffi gem(所以我可以運行Octopress)並且遇到錯誤。運行時在OS X Mountain Lion上安裝ffi gem的錯誤

運行gem install install ffi -v '1.0.11'給出了下面的輸出:

/chetanshenoy.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb 
checking for ffi.h... no 
checking for ffi.h in /usr/local/include... no 
checking for rb_thread_blocking_region()... yes 
checking for ruby_native_thread_p()... yes 
checking for rb_thread_call_with_gvl()... yes 
creating extconf.h 
creating Makefile 

make 
Configuring libffi 
/Volumes/Secondary - HDD/Users/chetanshenoy/.rvm/gems/ruby-1.9.3-p194/gems/ffi-1.0.11/ext/ffi_c/libffi/configure: line 642: test: too many arguments 
/Volumes/Secondary - HDD/Users/chetanshenoy/.rvm/gems/ruby-1.9.3-p194/gems/ffi-1.0.11/ext/ffi_c/libffi/configure: line 642: test: too many arguments 
configure: WARNING: Libtool does not cope well with whitespace in `pwd` 
cd "/Volumes/Secondary - HDD/Users/chetanshenoy/.rvm/gems/ruby-1.9.3-p194/gems/ffi-1.0.11/ext/ffi_c/libffi" && make 
make "AR_FLAGS=" "CC_FOR_BUILD=" "CFLAGS=" "CXXFLAGS=" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=" "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "JC1FLAGS=" "LDFLAGS=" "LIBCFLAGS=" "LIBCFLAGS_FOR_TARGET=" "MAKE=make" "MAKEINFO=/bin/sh "/Volumes/Secondary - HDD/Users/chetanshenoy/.rvm/gems/ruby-1.9.3-p194/gems/ffi-1.0.11/ext/ffi_c/libffi/missing" --run makeinfo " "PICFLAG=" "PICFLAG_FOR_TARGET=" "RUNTESTFLAGS=" "SHELL=/bin/sh" "exec_prefix=/usr/local" "infodir=/usr/local/share/info" "libdir=/usr/local/lib" "prefix=/usr/local" "AR=ar" "AS=as" "CC=gcc-4.2" "CXX=c++" "LD=ld" "NM=/usr/bin/nm" "RANLIB=ranlib" "DESTDIR=" all-recursive 
make[2]: *** No rule to make target `HDD/Users/chetanshenoy/.rvm/gems/ruby-1.9.3-p194/gems/ffi-1.0.11/ext/ffi_c/libffi/missing --run makeinfo '. Stop. 
make[1]: *** [all] Error 2 
make: *** ["/Volumes/Secondary] Error 2 

任何幫助表示讚賞。

+0

可以包括'/ chetanshenoy.rvm /紅寶石/紅寶石1.9.3-P194/config' - 最佳使用[要點](https://gist.github.com),因爲這文件相當大。 – mpapis 2012-08-13 17:34:39

+0

@mpapis這是配置:[https://gist.github.com/3342924](https://gist.github.com/3342924) – 2012-08-13 19:34:29

+0

這是我的想法 - 這可能是錯誤的方式'ffi'已經安裝,ruby沒有空間路徑的記錄,你是否嘗試過最新版本或預編譯的'ffi'? – mpapis 2012-08-13 21:22:13

回答

1

它看起來像ffi寶石不喜歡在路徑中的空間,因爲你已經在config已經檢查它不是使用這個路徑的紅寶石,必須是在編譯寶石的過程中的東西。

爲了讓編譯你需要擺脫空間的,有辦法少:在不包含空格的路徑

  1. 重裝RVM,首先你需要在~/.rvmrc改變rvm_path的位置,這就是「安全「的選擇,
  2. 將rvm直接移動到rvm_path指向的路徑 - sudo rm -rf /chetanshenoy.rvm && sudo mv "/Volumes/Secondary - HDD/Users/chetanshenoy/.rvm" /chetanshenoy.rvm - 這應該工作,因爲ruby沒有主目錄的記錄,但它不能確定帶空格的路徑是否保存在任何位置 - 以防萬一的問題使用解決方案1.
+0

感謝您的幫助。我最終編輯了gem並更新了libffi Makefile。我最終需要弄清楚如何在不使用任何設置的情況下移動'rvm'。 – 2012-08-14 18:50:35

相關問題