Use OSX 10.8.4 on a Macbook Pro using homebrew, xcode (with command line tools) and libffi.
I installed rvm and ruby-1.9.3-p448 and have a gemset called omega.ecoop. There is a gemfile that lists the gems needed for this project. However, I cannot install them after checking the package:
Bundler can't satisfy your Gemfile dependencies.
This is correct as they are not installed. Therefore, I use:
bundle install
which produces the following:
Sams-MacBook-Pro:ecoop Sam$ bundle install Fetching gem metadata from https://rubygems.org/.......... Fetching gem metadata from https://rubygems.org/.. Resolving dependencies... Using addressable (2.3.5) Using chunky_png (1.2.8) Using fssm (0.2.10) Using sass (3.2.10) Using compass (0.12.2) Using breakpoint (2.0.6) Using coderay (1.0.9) Using compass-blend-modes (0.0.2) Using color-schemer (0.2.5) Using compass-normalize (1.4.3) Using compass-rgbapng (0.2.1) Using compass-validator (3.0.1) Using css_parser (1.3.5) Using eventmachine (1.0.3) Using http_parser.rb (0.5.3) Using em-websocket (0.5.0) Installing ffi (1.9.0)
Everything is going well so far:
Installing ffi (1.9.0) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/Sam/.rvm/rubies/ruby-1.9.3-p448/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()... yes checking for rb_thread_call_with_gvl()... yes checking for rb_thread_call_without_gvl()... yes checking for ffi_prep_cif_var()... no creating extconf.h creating Makefile make mkdir -p "/Users/Sam/.rvm/gems/ ruby-1.9.3-p448@omega.ecoop /gems/ffi-1.9.0/ext/ffi_c"/libffi-x86_64; (if [ ! -f "/Users/Sam/.rvm/gems/ ruby-1.9.3-p448@omega.ecoop /gems/ffi-1.9.0/ext/ffi_c"/libffi-x86_64/Makefile ]; then echo "Configuring libffi for x86_64"; cd "/Users/Sam/.rvm/gems/ ruby-1.9.3-p448@omega.ecoop /gems/ffi-1.9.0/ext/ffi_c"/libffi-x86_64 && env CC=" gcc-4.6" CFLAGS="-arch x86_64 " LDFLAGS="-arch x86_64" "/Users/Sam/.rvm/gems/ ruby-1.9.3-p448@omega.ecoop /gems/ffi-1.9.0/ext/ffi_c/libffi"/configure --disable-static --with-pic=yes --disable-dependency-tracking --host=x86_64-apple-darwin > /dev/null; fi); env MACOSX_DEPLOYMENT_TARGET=10.4 make -C "/Users/Sam/.rvm/gems/ ruby-1.9.3-p448@omega.ecoop /gems/ffi-1.9.0/ext/ffi_c"/libffi-x86_64 Configuring libffi for x86_64 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 `/Users/Sam/.rvm/gems/ ruby-1.9.3-p448@omega.ecoop /gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64': configure: error: C compiler cannot create executables See `config.log' for more details make[1]: *** No targets specified and no makefile found. Stop. make: *** ["/Users/Sam/.rvm/gems/ ruby-1.9.3-p448@omega.ecoop /gems/ffi-1.9.0/ext/ffi_c"/libffi-x86_64/.libs/libffi_convenience.a] Error 2 Gem files will remain installed in /Users/Sam/.rvm/gems/ ruby-1.9.3-p448@omega.ecoop /gems/ffi-1.9.0 for inspection. Results logged to /Users/Sam/.rvm/gems/ ruby-1.9.3-p448@omega.ecoop /gems/ffi-1.9.0/ext/ffi_c/gem_make.out An error occurred while installing ffi (1.9.0), and Bundler cannot continue. Make sure that `gem install ffi -v '1.9.0'` succeeds before bundling.
This command also does not work (gem install ffi -v '1.9.0'), I get the same error. I tried:
sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
I read:
can't set ruby environment - installing fii gem error
Ffi package update failed
Ffi package update failed
Error installing ffi
gem install ffi -v '1.1.5' osx 10.8
However, good luck. I followed this guide to configure RVM:
http://portertech.ca/2010/03/26/homebrew--rvm--awesome/
If this helps, ffi-1.0.11 installs without crashing, fff-1.9.0 will not install ( http://rubygems.org/gems/ffi/versions ).
/Users/Sam/.rvm/gems/ ruby-1.9.3-p448@omega.ecoop /gems/ffi-1.0.11 (no problem)
I only wanted to use the command line (and not the jewelrybox GUI) to learn some new skills along the way, but was pretty stuck here. Any help would be appreciated, thanks.
EDIT
So, I tried a different approach, I thought it was a ruby version that was not compatible:
rvm install 2.0.0
then create a gemset this time using ruby 2.0.0
rvm use 2.0.0@omega.ecoop --create
Check it out and select as the current gemset (ready to install some gems)
rvm gemset list gemsets for ruby-2.0.0-p247 (found in /Users/Sam/.rvm/gems/ruby-2.0.0-p247) (default) global => omega.ecoop
Yes, all is well. Try to install
bundle install Sams-MacBook-Pro:ecoop Sam$ bundle install Fetching gem metadata from https://rubygems.org/.......... Fetching gem metadata from https://rubygems.org/.. Resolving dependencies... Installing addressable (2.3.5) Installing chunky_png (1.2.8) Installing fssm (0.2.10) Installing sass (3.2.10) Installing compass (0.12.2) Installing breakpoint (2.0.6) Installing coderay (1.0.9) Installing compass-blend-modes (0.0.2) Installing color-schemer (0.2.5) Installing compass-normalize (1.4.3) Installing compass-rgbapng (0.2.1) Installing compass-validator (3.0.1) Installing css_parser (1.3.5) Installing eventmachine (1.0.3) Installing http_parser.rb (0.5.3) Installing em-websocket (0.5.0) Installing ffi (1.9.0) Installing formatador (0.2.4) Installing rb-fsevent (0.9.3) Installing rb-inotify (0.9.1) Installing rb-kqueue (0.2.0) Installing listen (1.3.0) Installing lumberjack (1.0.4) Installing method_source (0.8.2) Installing slop (3.4.6) Installing pry (0.9.12.2) Installing thor (0.18.1) Installing guard (1.8.2) Installing guard-compass (0.0.8) Installing multi_json (1.7.9) Installing guard-livereload (1.4.0) Installing guard-shell (0.5.1) Installing oily_png (1.1.0) Installing rb-fchange (0.0.6) Installing sass-globbing (1.1.0) Installing sassy-strings (1.0.0) Installing singularitygs (1.1.2) Installing susy (1.0.9) Installing toolkit (1.3.7) Installing yajl-ruby (1.1.0) Using bundler (1.3.5) Your bundle is complete!
No problem with 'Install ffi (1.9.0)' this time. Then I deleted ruby 1.9.3, since I only use it for the / sass / susy compass at the moment, and if 2.0.0 works, so be it.
Sams-MacBook-Pro:~ Sam$ ruby -v ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.3.0] Sams-MacBook-Pro:~ Sam$ cd drupal/ecoop/sites/default/themes/ecoop/ ruby-1.9.3-p448 is not installed. To install do: 'rvm install ruby-1.9.3-p448' <<<<<< no thanks Sams-MacBook-Pro:ecoop Sam$ compass watch >>> Change detected at 12:35:09 to: reset.scss overwrite css/reset.css overwrite css/styles.css >>> Compass is watching for changes. Press Ctrl-C to Stop.
Now works great for my project. Not sure of the consequences of using a newer version of the ruby, but having lost enough time, you need to do some design. Obviously, this will not help someone who needs 1.9.3 so that the initial request about why ffi will not be installed is not yet considered.