Note that there are some explanatory texts on larger screens.

plurals
  1. POCan't install ffi 1.9.0 via rvm bundle install - OSX 10.8.4
    text
    copied!<p>Using OSX 10.8.4 on Macbook Pro with homebrew, xcode (with command line tools) and libffi.</p> <p>I have installed rvm and ruby-1.9.3-p448 and have a gemset called omega.ecoop. There is a gemfile which lists gems that are required for this project. However, I can't get them installed, after running bundle check:</p> <pre><code>Bundler can't satisfy your Gemfile's dependencies. </code></pre> <p>This is correct as they are not installed. So I use:</p> <pre><code>bundle install </code></pre> <p>which produces the following:</p> <pre><code>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) </code></pre> <p>All going well, until:</p> <pre><code>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 &amp;&amp; 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 &gt; /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. </code></pre> <p>This command does not work either (gem install ffi -v '1.9.0'), I get the same error. I tried:</p> <pre><code>sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2 </code></pre> <p>I have read:</p> <p><a href="https://stackoverflow.com/questions/17775115/cant-setup-ruby-environment-installing-fii-gem-error">can&#39;t setup ruby environment - installing fii gem error</a></p> <p><a href="https://stackoverflow.com/questions/10575679/bundle-update-fails-on-ffi/10610951#10610951">Bundle update fails on ffi</a></p> <p><a href="https://stackoverflow.com/questions/10575679/bundle-update-fails-on-ffi/10610951#10610951">Bundle update fails on ffi</a></p> <p><a href="https://stackoverflow.com/questions/18283291/error-installing-ffi">Error installing ffi</a></p> <p><a href="https://stackoverflow.com/questions/11919465/gem-install-ffi-v-1-1-5-osx-10-8">gem install ffi -v &#39;1.1.5&#39; osx 10.8</a></p> <p>Still no luck though. I followed this guide to set up RVM:</p> <p><a href="http://portertech.ca/2010/03/26/homebrew--rvm--awesome/" rel="nofollow noreferrer">http://portertech.ca/2010/03/26/homebrew--rvm--awesome/</a></p> <p>If this helps, ffi-1.0.11 installs without hitch, fff-1.9.0 will not install (<a href="http://rubygems.org/gems/ffi/versions" rel="nofollow noreferrer">http://rubygems.org/gems/ffi/versions</a>).</p> <pre><code>/Users/Sam/.rvm/gems/ruby-1.9.3-p448@omega.ecoop/gems/ffi-1.0.11 (no problem) </code></pre> <p>I wanted to use command line only (rather than jewelrybox GUI) to learn some new skills along the way but fairly stuck here. Any help would be appreciated, thanks.</p> <p><strong>EDIT</strong></p> <p>So I tried a different approach, I thought maybe it was the version of ruby that was not compatible:</p> <pre><code>rvm install 2.0.0 </code></pre> <p>then create gemset this time using ruby 2.0.0</p> <pre><code>rvm use 2.0.0@omega.ecoop --create </code></pre> <p>Check it's there and selected as the current gemset (ready to install some gems)</p> <pre><code>rvm gemset list gemsets for ruby-2.0.0-p247 (found in /Users/Sam/.rvm/gems/ruby-2.0.0-p247) (default) global =&gt; omega.ecoop </code></pre> <p>Yep all good. Try and install</p> <pre><code>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! </code></pre> <p>No problems with 'Installing ffi (1.9.0)' this time. Then I removed ruby 1.9.3 as I only use it for compass/sass/susy at the moment and if 2.0.0 works, so be it.</p> <pre><code>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' &lt;&lt;&lt;&lt;&lt;&lt; no thanks Sams-MacBook-Pro:ecoop Sam$ compass watch &gt;&gt;&gt; Change detected at 12:35:09 to: reset.scss overwrite css/reset.css overwrite css/styles.css &gt;&gt;&gt; Compass is watching for changes. Press Ctrl-C to Stop. </code></pre> <p>Works fine for my project now. Not sure of any consequences of using a newer version of ruby but lost enough time already, need to do some designing. Obviously this wont help someone who needs 1.9.3 so that original query of why ffi wouldn't install is yet to be addressed.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload