Ошибка при установке ffi gem на OS X Mountain Lion

Я пытаюсь установить ffi gem (чтобы я мог запустить Octopress) на моем OS X Mountain Lion, и у меня возникают ошибки.

Бег 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

Любая помощь приветствуется.

2 ответа

Решение

Похоже, ffi 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.

Как указано в разделе "Проблемы с установкой ImageMagick и rmagick на Mountain Lion", ffi, похоже, настроен на поиск "gcc-4.2", поэтому, как только я обновил свои инструменты командной строки Apple (что мне может понадобиться, а может и нет), я создал символическую ссылку, чтобы сделать конфигурацию установки ffi счастливой:

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
Другие вопросы по тегам