My goal is to use libmspack. It depends on the ffi compiler, I formatted the ffi compiler to add some custom code, and I want libmspack to use my modified version. I have a simple gemfile:
source 'http://rubygems.org'
gem 'ffi-compiler', :github =>'survili/ffi-compiler'
gem 'libmspack'
When you run 'bundle install', the installation of 'ffi-compiler' completes fine, but the installation of 'libmspack' fails with an error that cannot find 'ffi-compiler'. (LoadError: unable to load such a file - FFI compiler / compile_task)
I noticed that if I remove 'libmspack' from the Gemfile and try to install it using 'bundle exec install libmspack', it works fine.
Can someone explain what is the right way to achieve my goal by forcing libmspack to use its own ffi-compiler gem?
I found this SO post that requests the same but has no response: Gem :: LoadError when using the git repository in the Gemfile
Thank you in advance
------ OUTPUT beam (empty gemset using RVM) -------
jackju at macbook-air ~/tmp/delme1
$ rvm use 2.1.1@stackoverproblem
ruby-2.1.1 -
ruby-2.1.1 -
Using /home/jackju/.rvm/gems/ruby-2.1.1 with gemset stackoverproblem
jackju at macbook-air ~/tmp/delme1
$ rvm current
ruby-2.1.1@stackoverproblem
jackju at macbook-air ~/tmp/delme1
$ vim Gemfile
[1]+ Stopped vim Gemfile
jackju at macbook-air ~/tmp/delme1
$ rvm current
ruby-2.1.1@stackoverproblem
jackju at macbook-air ~/tmp/delme1
$ gem list
*** LOCAL GEMS ***
bigdecimal (1.2.4)
bundler (1.5.3)
bundler-unload (1.0.2)
executable-hooks (1.3.1)
gem-wrappers (1.2.4)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
psych (2.0.3)
rake (10.1.0)
rdoc (4.1.0)
rubygems-bundler (1.4.2)
rvm (1.11.3.9)
test-unit (2.1.1.0)
jackju at macbook-air ~/tmp/delme1
$ bundle
Fetching git://github.com/survili/ffi-compiler.git
remote: Reusing existing pack: 260, done.
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 265 (delta 2), reused 0 (delta 0)
Receiving objects: 100% (265/265), 38.59 KiB | 0 bytes/s, done.
Resolving deltas: 100% (116/116), done.
Fetching gem metadata from http://rubygems.org/.........
Fetching additional metadata from http://rubygems.org/..
Resolving dependencies...
Installing rake (10.3.1)
Installing ffi (1.9.3)
Using ffi-compiler (0.1.4) from git://github.com/survili/ffi-compiler.git (at master)
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/home/jackju/.rvm/rubies/ruby-2.1.1/bin/ruby -rubygems /home/jackju/.rvm/gems/ruby-2.1.1@stackoverproblem/gems/rake-10.3.1/bin/rake RUBYARCHDIR=/home/jackju/.rvm/gems/ruby-2.1.1@stackoverproblem/extensions/x86_64-linux/2.1.0/libmspack-0.0.4 RUBYLIBDIR=/home/jackju/.rvm/gems/ruby-2.1.1@stackoverproblem/extensions/x86_64-linux/2.1.0/libmspack-0.0.4
rake aborted!
LoadError: cannot load such file
/home/jackju/.rvm/gems/ruby-2.1.1@stackoverproblem/gems/libmspack-0.0.4/ext/Rakefile:1:in `<top (required)>'
(See full trace by running task with --trace)
rake failed, exit code 1
Gem files will remain installed in /home/jackju/.rvm/gems/ruby-2.1.1@stackoverproblem/gems/libmspack-0.0.4 for inspection.
Results logged to /home/jackju/.rvm/gems/ruby-2.1.1@stackoverproblem/extensions/x86_64-linux/2.1.0/libmspack-0.0.4/gem_make.out
An error occurred while installing libmspack (0.0.4), and Bundler cannot
continue.
Make sure that `gem install libmspack -v '0.0.4'` succeeds before bundling.
jackju at macbook-air ~/tmp/delme1
$ ls
Gemfile
jackju at macbook-air ~/tmp/delme1
$
source
share