Ошибка при установке 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
это не рубин, использующий эти пути, должен быть чем-то в процессе компиляции драгоценного камня.
Чтобы его скомпилировать, нужно избавиться от пробелов, есть несколько способов:
- переустановите rvm в пути без пробелов, сначала нужно изменить
rvm_path
расположение в~/.rvmrc
это "безопасный" выбор, - переместить 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