1

OS X Mountain Lion に ffi gem (Octopress を実行できるようにするため) をインストールしようとしていますが、エラーが発生します。

実行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

どんな助けでも大歓迎です。

4

2 に答える 2

1

マウンテン ライオンに ImageMagick と rmagick をインストールする際の問題で述べたように、 ffiは 'gcc-4.2' を探すように構成されているようです。 ffi インストール構成を満足させるためのシンボリック リンクを作成しました。

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
于 2013-03-28T14:27:13.050 に答える
1

このパスを使用してルビーではないことを既に確認したように、ffigem はパス内のスペースも好きではないようです。gemをコンパイルする過程にあるものでなければなりません。config

コンパイルするには、スペースを取り除く必要があります。いくつかの方法があります。

  1. スペースを含まないパスに rvm を再インストールします。最初に のrvm_path場所を変更する必要があります~/.rvmrc。これは「安全な」選択です。
  2. rvm をrvm_path-が指すパスに直接移動します - sudo rm -rf /chetanshenoy.rvm && sudo mv "/Volumes/Secondary - HDD/Users/chetanshenoy/.rvm" /chetanshenoy.rvm- ruby​​ にはホーム ディレクトリの記録がないため、これは機能するはずですが、スペースを含むパスが任意の場所に保存されているかどうかはわかりません - 問題が発生した場合は、解決策 1 を使用してください。
于 2012-08-14T05:42:39.370 に答える