Не могу собрать собственные расширения с ruby 2.1.2
Я на Ubuntu 14.04.1 LTS (Trusty).
Я использую rvm 1.25.28 (стабильный).
Когда я хочу установить гем, который является родным расширением, он терпит неудачу с ruby-2.1.2
но отлично работает с ruby-2.0.0-p481
,
Я не могу найти ничего похожего на мою проблему (make: .//install: Command not found
).
есть этот пост, но у меня есть install
команда, а также make
установлен в моей системе.
Я не знаю, что я могу сделать, чтобы насладиться ruby-2.1.2.
Следующее - то, что я получаю в моем семестре с обоими рубинами.
ruby 2.0.0p481 (2014-05-08, редакция 45883) [x86_64-linux]
➜ webinterface git:(master) ✗ gem install bcrypt -v '3.1.7'
Building native extensions. This could take a while...
Successfully installed bcrypt-3.1.7
Parsing documentation for bcrypt-3.1.7
Installing ri documentation for bcrypt-3.1.7
Done installing documentation for bcrypt after 1 seconds
1 gem installed
➜ webinterface git:(master) ✗
ruby 2.1.2p95 (редакция 2014-05-08, 45877) [x86_64-linux]
➜ webinterface git:(master) ✗ gem install bcrypt -v '3.1.7'
Building native extensions. This could take a while...
ERROR: Error installing bcrypt:
ERROR: Failed to build gem native extension.
/home/micka/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb
checking for ruby/util.h... yes
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling wrapper.c
compiling crypt.c
compiling crypt_gensalt.c
compiling crypt_blowfish.c
compiling bcrypt_ext.c
linking shared-object bcrypt_ext.so
make "DESTDIR=" install
.//install -m 0755 bcrypt_ext.so ./.gem.20140830-16619-1u6zgae
make: .//install: Command not found
make: *** [install-so] Error 127
make install failed, exit code 2
Gem files will remain installed in /home/micka/.rvm/gems/ruby-2.1.2/gems/bcrypt-3.1.7 for inspection.
Results logged to /home/micka/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/bcrypt-3.1.7/gem_make.out
➜ webinterface git:(master) ✗
РЕДАКТИРОВАТЬ
gem --version
: 2.2.2
Это мой env
➜ webinterface git:(master) ✗ env
SESSION_MANAGER=local/micka-VirtualBox:@/tmp/.ICE-unix/1450,unix/micka-VirtualBox:/tmp/.ICE-unix/1450
XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/usr/share/upstart/xdg:/etc/xdg
LC_TELEPHONE=fr_FR.UTF-8
SESSION=gnome
LANG=en_US.UTF-8
DISPLAY=:0
XDG_VTNR=7
LOGNAME=micka
PWD=/home/micka/Documents/getthejobsforme/src/webinterface
MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
LC_NAME=fr_FR.UTF-8
GPG_AGENT_INFO=/run/user/1000/keyring-D7wxoa/gpg:0:1
XDG_MENU_PREFIX=gnome-
XAUTHORITY=/var/run/gdm/auth-for-micka-vY5EwB/database
GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/guake.desktop
GTK_IM_MODULE=ibus
SELINUX_INIT=YES
XDG_SESSION_ID=c1
DESKTOP_SESSION=gnome
IM_CONFIG_PHASE=1
DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
USERNAME=micka
TEXTDOMAIN=im-config
WINDOWPATH=7
LC_MEASUREMENT=fr_FR.UTF-8
LC_PAPER=fr_FR.UTF-8
GDMSESSION=gnome
LC_MONETARY=fr_FR.UTF-8
GIO_LAUNCHED_DESKTOP_FILE_PID=2208
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-dKhP53slle
TEXTDOMAINDIR=/usr/share/locale/
XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
LC_IDENTIFICATION=fr_FR.UTF-8
SESSIONTYPE=gnome-session
QT4_IM_MODULE=xim
UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/1085
SSH_AGENT_LAUNCHER=upstart
CLUTTER_IM_MODULE=xim
GDM_LANG=en_US
SHELL=/bin/zsh
GJS_DEBUG_OUTPUT=stderr
LC_TIME=fr_FR.UTF-8
JOB=dbus
SSH_AGENT_PID=1339
QT_IM_MODULE=ibus
XDG_CURRENT_DESKTOP=GNOME
SSH_AUTH_SOCK=/run/user/1000/keyring-D7wxoa/ssh
PATH=/home/micka/.rvm/gems/ruby-2.1.2/bin:/home/micka/.rvm/gems/ruby-2.1.2@global/bin:/home/micka/.rvm/rubies/ruby-2.1.2/bin:/home/micka/.rvm/bin:.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
GNOME_KEYRING_CONTROL=/run/user/1000/keyring-D7wxoa
TERM=xterm
HOME=/home/micka
XDG_SEAT=seat0
INSTANCE=
XDG_RUNTIME_DIR=/run/user/1000
LC_ADDRESS=fr_FR.UTF-8
XMODIFIERS=@im=ibus
USER=micka
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
LC_NUMERIC=fr_FR.UTF-8
SHLVL=1
OLDPWD=/home/micka/Documents/getthejobsforme/src/webinterface/config
ZSH=/home/micka/.oh-my-zsh
GREP_OPTIONS=--color=auto --exclude-dir=.cvs --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn
GREP_COLOR=1;32
PAGER=less
LESS=-R
LC_CTYPE=en_US.UTF-8
LSCOLORS=Gxfxcxdxbxegedabagacad
rvm_prefix=/home/micka
rvm_path=/home/micka/.rvm
rvm_bin_path=/home/micka/.rvm/bin
rvm_version=1.25.28 (stable)
GEM_HOME=/home/micka/.rvm/gems/ruby-2.1.2
GEM_PATH=/home/micka/.rvm/gems/ruby-2.1.2:/home/micka/.rvm/gems/ruby-2.1.2@global
MY_RUBY_HOME=/home/micka/.rvm/rubies/ruby-2.1.2
IRBRC=/home/micka/.rvm/rubies/ruby-2.1.2/.irbrc
RUBY_VERSION=ruby-2.1.2
rvm_alias_expanded=
rvm_docs_type=
rvm_gemstone_package_file=
rvm_gemstone_url=
rvm_niceness=
rvm_nightly_flag=
rvm_proxy=
rvm_quiet_flag=
rvm_ruby_file=
rvm_ruby_make=
rvm_ruby_make_install=
rvm_ruby_mode=
rvm_script_name=
rvm_sdk=
rvm_silent_flag=
rvm_wrapper_name=
install_flag=1
_system_type=Linux
_system_name=Ubuntu
_system_version=14.04
_system_arch=x86_64
rvm_bin_flag=
rvm_delete_flag=0
rvm_file_name=
rvm_only_path_flag=
rvm_ruby_alias=
rvm_ruby_bits=
rvm_sticky_flag=
rvm_system_flag=
rvm_use_flag=
rvm_user_flag=
rvm_ruby_string=ruby-2.1.2
_=/usr/bin/env
➜ webinterface git:(master) ✗
EDIT(2)
Я обновил свой драгоценный камень, используя gem update --system
в 2.4.1
, Но это не решает проблему.
EDIT(3)
➜ webinterface git:(master) ✗ irb
:001 > RbConfig::CONFIG['INSTALL_PROGRAM']
=> ".//install"
:002 > RbConfig::MAKEFILE_CONFIG['INSTALL_PROGRAM']
=> "$(INSTALL)"
:003 >
➜ webinterface git:(master) ✗ which install
/usr/bin/install
➜ webinterface git:(master) ✗
1 ответ
Как я и думал, проблема была связана с этой ошибкой make: .//install: Command not found
,
По какой-то непонятной причине RbConfig::CONFIG['INSTALL_PROGRAM']
был установлен на ".//install"
,
поскольку RbConfig::MAKEFILE_CONFIG['INSTALL_PROGRAM']
установлен в "$(INSTALL)"
, Я пытался EXPORT INSTALL=/usr/bin/install
но это не сработало.
Я исправил проблему, удалив ruby-2.1.2 и снова установив его, убедившись, что у меня его нет INSTALL
в моем env установлено несколько случайных значений.
rvm uninstall 2.1.2
unset INSTALL
rvm install 2.1.2