У меня есть ruby2.2, ubuntu 14.04.4 LTS, и я хочу установить rsruby gem. Все настроено, и все мои другие драгоценные камни настроены с помощью «sudo bundle install». Но rsruby продолжает сбой, когда я пытаюсь установить его таким образом. Как его отладить и заставить работать?Bundle Install Rsruby Fails, но Gem Install Succeeds
У меня есть сценарий, я бегу, который работает эта команда
sudo bundle config build.rsruby "--with-R-include=/usr/share/R/include --with_cflags=\"-fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wall -fno-strict-aliasing\""
Тогда я бегу «Суда расслоение установить» и он падает на RSRuby:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby2.2 -r ./siteconf20161028-31919-l2ks0n.rb extconf.rb
--with-R-include=/usr/share/R/include --with_cflags=\"-fPIC -g -O2
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Wall
-fno-strict-aliasing\"
checking for main() in -lR... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
from /usr/lib/ruby/2.2.0/mkmf.rb:541:in `try_link0'
from /usr/lib/ruby/2.2.0/mkmf.rb:556:in `try_link'
from /usr/lib/ruby/2.2.0/mkmf.rb:735:in `try_func'
from /usr/lib/ruby/2.2.0/mkmf.rb:992:in `block in find_library'
from /usr/lib/ruby/2.2.0/mkmf.rb:911:in `block in checking_for'
from /usr/lib/ruby/2.2.0/mkmf.rb:351:in `block (2 levels) in postpone'
from /usr/lib/ruby/2.2.0/mkmf.rb:321:in `open'
from /usr/lib/ruby/2.2.0/mkmf.rb:351:in `block in postpone'
from /usr/lib/ruby/2.2.0/mkmf.rb:321:in `open'
from /usr/lib/ruby/2.2.0/mkmf.rb:347:in `postpone'
from /usr/lib/ruby/2.2.0/mkmf.rb:910:in `checking_for'
from /usr/lib/ruby/2.2.0/mkmf.rb:988:in `find_library'
from extconf.rb:15:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in
/var/lib/gems/2.2.0/bundler/gems/rsruby-e72a8dc61617 for inspection.
Results logged to
/var/lib/gems/2.2.0/bundler/gems/extensions/x86_64-linux/2.2.0/rsruby-e72a8dc61617/gem_make.out
An error occurred while installing rsruby (0.5.5), and Bundler cannot
continue.
Но если я бегу
sudo gem install rsruby -- --with-R-dir=/usr/lib/R --with-R-include=/usr/share/R/include --with_cflags="-fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wall -fno-strict-aliasing"
После этого он успешно устанавливает
Fetching: rsruby-0.5.1.1.gem (100%)
Building native extensions with: '--with-R-dir=/usr/lib/R --with-R-include=/usr/share/R/include --with_cflags=-fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wall -fno-strict-aliasing'
This could take a while...
Successfully installed rsruby-0.5.1.1
Parsing documentation for rsruby-0.5.1.1
Installing ri documentation for rsruby-0.5.1.1
Done installing documentation for rsruby after 0 seconds
1 gem installed
ТАК, мой вопрос в том, как мне отладить это? И как мне заставить его работать с установкой пакета? Благодаря!
UPDATE, как указано в комментариях к мату, версия rsruby gem, установленная двумя командами, отличается. если я изменю свой Gemfile, чтобы указать комплект для установки версии «0.5.1.1», тогда «sudo bundle install» устанавливается успешно. однако мне нужна версия «0.5.5». мой Gemfile в настоящее время настроен следующим образом: «gem» rsruby, github: «custora/rsruby» и должен получить версию 0.5.5. так зачем 0.5.1.1 устанавливать правильно, но не 0.5.5?
UPDATE, mkmf.log
gcc -o conftest -I/usr/include/x86_64-linux-gnu/ruby-2.1.0 -I/usr/include/ruby-2.1.0/ruby/backward -I/usr/include/ruby-2.1.0 -I. -I/usr/share/R/include -D_FORTIFY_SOURCE=2 "-g conftest.c -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -L/build/ruby2.1-3vrZnx/ruby2.1-2.1.9/debian/lib -fstack-protector -rdynamic -Wl,-export-dynamic -lruby-2.1 -lpthread -lgmp -ldl -lcrypt -lm -lc"
sh: 1: Syntax error: Unterminated quoted string
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return 0;
6: }
/* end */
Это те, которые используют две разные версии рубина? –
Да, матовый, я тоже заметил это. поэтому, чтобы добавить больше информации о том, что происходит, если я изменю свой Gemfile, чтобы указать комплект для установки версии «0.5.1.1», то он «sudo bundle Install» устанавливается успешно. однако мне нужна версия «0.5.5». мой Gemfile в настоящее время настроен следующим образом: «gem» rsruby, github: «custora/rsruby» и должен получить версию 0.5.5. так зачем 0.5.1.1 устанавливать правильно, но не 0.5.5? – appleLover
спасибо, что указали это матовым, сообщение обновлено с новой информацией, я все еще застрял на нем и не могу получить версию, которую мне нужно установить – appleLover