2012-08-12 19 views
5

ja próbuje zainstalować FFI na OSX 10.8 poprzezgem install FFI -v '1.1.5' OSX 10.8

gem install ffi -v '1.1.5' 

z wynikiem

ERROR: Error installing ffi: 
ERROR: Failed to build gem native extension. 

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb 
checking for ffi.h... no 
checking for ffi.h in /usr/local/include,/usr/include/ffi... no 
checking for rb_thread_blocking_region()... no 
checking for ruby_native_thread_p()... no 
checking for rb_thread_call_with_gvl()... no 
creating extconf.h 
creating Makefile 

make 
mkdir -p "/Library/Ruby/Gems/1.8/gems/ffi-1.1.5/ext/ffi_c"/libffi-i386; (if [ ! -f  "/Library/Ruby/Gems/1.8/gems/ffi-1.1.5/ext/ffi_c"/libffi-i386/Makefile ]; then echo "Configuring libffi for i386"; cd "/Library/Ruby/Gems/1.8/gems/ffi-1.1.5/ext/ffi_c"/libffi-i386 && env CC=" xcrun cc" CFLAGS="-arch i386 " LDFLAGS="-arch i386" "/Library/Ruby/Gems/1.8/gems/ffi-1.1.5/ext/ffi_c/libffi"/configure --disable-static --with-pic=yes --disable-dependency-tracking --host=i386-apple-darwin > /dev/null; fi); env MACOSX_DEPLOYMENT_TARGET=10.4 make -C "/Library/Ruby/Gems/1.8/gems/ffi-1.1.5/ext/ffi_c"/libffi-i386 
Configuring libffi for i386 
configure: WARNING: if you wanted to set the --build type, don't use --host. 
If a cross compiler is detected then cross compile mode will be used 
configure: error: in `/Library/Ruby/Gems/1.8/gems/ffi-1.1.5/ext/ffi_c/libffi-i386': 
configure: error: C compiler cannot create executables 
See `config.log' for more details 
make[1]: *** No targets specified and no makefile found. Stop. 
make: *** ["/Library/Ruby/Gems/1.8/gems/ffi-1.1.5/ext/ffi_c"/libffi- i386/.libs/libffi_convenience.a] Error 2 


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/ffi-1.1.5 for inspection. 
Results logged to /Library/Ruby/Gems/1.8/gems/ffi-1.1.5/ext/ffi_c/gem_make.out 

próbowałem podążać

An error occured while installing ffi (1.1.2), and Bundler cannot continue

i

Not able to install some gems after mountain lion upgrade

bez powodzenia.

Odpowiedz

0

Wygląda na to, że ffi nalega na zbudowanie wersji 32-bitowej, podczas gdy twój system działa z 64-bitową wydajnością.

Tam najprawdopodobniej dwa sposoby, aby kontynuować:

  1. spróbuj użyć najnowszej wersji gem gem install ffi - ale to nie musi działać - jak to musi być ustalona w bibliotece,
  2. kompilacji 32bit rubin rvm install 1.9.3-n32 --32 - ale to też nie muszą pracować jak większość bibliotek najprawdopodobniej będą sporządzane dla 64bit, więc to nie może skompilować lub skompilować i obecne problemy
2

Moja instalacja FFI nie powiodło się z całkiem podobny komunikat o błędzie:

mkdir -p "/Library/Ruby/Gems/1.8/gems/ffi-1.9.0/ext/ffi_c"/libffi-i386; (if [ ! -f "/Library/Ruby/Gems/1.8/gems/ffi-1.9.0/ext/ffi_c"/libffi-i386/Makefile ]; then echo "Configuring libffi for i386"; cd "/Library/Ruby/Gems/1.8/gems/ffi-1.9.0/ext/ffi_c"/libffi-i386 && env CC=" xcrun cc" CFLAGS="-arch i386 " LDFLAGS="-arch i386" "/Library/Ruby/Gems/1.8/gems/ffi-1.9.0/ext/ffi_c/libffi"/configure --disable-static --with-pic=yes --disable-dependency-tracking --host=i386-apple-darwin > /dev/null; fi); env MACOSX_DEPLOYMENT_TARGET=10.4 make -C "/Library/Ruby/Gems/1.8/gems/ffi-1.9.0/ext/ffi_c"/libffi-i386 
Configuring libffi for i386 
configure: WARNING: if you wanted to set the --build type, don't use --host. 
    If a cross compiler is detected then cross compile mode will be used 
configure: error: in `/Library/Ruby/Gems/1.8/gems/ffi-1.9.0/ext/ffi_c/libffi-i386': 
configure: error: C compiler cannot create executables 

dostrzegłem xcrun cc w poleceniu i próbuje go uruchomić ręcznie dał mi wiadomość Apple, że nie zgodził się Xcode narzędzi wiersza poleceń ' umowa licencyjna. Po sudo xcrun cc instalacja zakończyła się sukcesem.

$ xcrun cc 
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo. 
$ sudo xcrun cc 
You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode. 
Hit the Enter key to view the license agreements at '/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf' 
... 

`` `

+0

Dzieje się tak nie tylko po pierwszej instalacji XCode, ale w każdej chwili Jabłko zmienia licencję. Tak więc aktualizacja XCode może spowodować, że narzędzia XCode przestaną działać, dopóki nie zaakceptujesz nowej umowy licencyjnej. – Technosophos

Powiązane problemy