【发布时间】:2016-08-15 04:30:04
【问题描述】:
bundle install of fat_free_crm 需要 gem "scrypt" 版本 2.0.2 (https://rubygems.org/gems/scrypt/versions/2.0.2) 但我收到此错误:
ERROR: Error installing scrypt:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.3.0/gems/scrypt-2.0.2/ext/scrypt
/usr/bin/ruby2.3 -rubygems /var/lib/gems/2.3.0/gems/rake-11.1.1/bin/rake RUBYARCHDIR=/var/lib/gems/2.3.0/extensions/arm-linux/2.3.0/scrypt-2.0.2 RUBYLIBDIR=/var/lib/gems/2.3.0/extensions/arm-linux/2.3.0/scrypt-2.0.2
mkdir -p arm-linux
/usr/bin/ruby2.3 -I/var/lib/gems/2.3.0/gems/ffi-compiler-1.0.1/lib/ffi-compiler/fake_ffi -I../../lib/scrypt /var/lib/gems/2.3.0/gems/ffi-compiler-1.0.1/lib/ffi-compiler/exporter.rb ../../lib/scrypt/scrypt_ext.rb ./scrypt_ext.h
gcc -fexceptions -O -fno-omit-frame-pointer -fno-strict-aliasing -Wall -msse -msse2 -fPIC -o arm-linux/crypto_scrypt-sse.o -c ./crypto_scrypt-sse.c
rake aborted!
Command failed with status (127): [gcc -fexceptions -O -fno-omit-frame-pointe...]
/var/lib/gems/2.3.0/gems/ffi-compiler-1.0.1/lib/ffi-compiler/compile_task.rb:133:in `block (2 levels) in define_task!'
Tasks: TOP => default => arm-linux/libscrypt_ext.so => arm-linux/crypto_scrypt-sse.o
(See full trace by running task with --trace)
rake failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.3.0/gems/scrypt-2.0.2 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/arm-linux/2.3.0/scrypt-2.0.2/gem_make.out
我在互联网上找不到任何关于此的内容,我自己也不明白。任何帮助将不胜感激!
【问题讨论】:
-
我假设您使用的是 ARM 设备? Scrypt 2 在 ARM 上编译时出现问题:github.com/pbhogan/scrypt/issues/23
-
是的!这是一个树莓派 3。我还注意到 3.0.x 版本编译没有问题,但 fat_free_crm 依赖于 2.0.2。你知道是否有办法使用 3.0.2 代替 2.0.2 吗?比如,告诉环境在需要 2.0.2 时使用 3.0.2 构建...我想我以前遇到过这个问题,作为不同程序或 gem 的解决方案。
标签: ruby-on-rails ruby linux raspberry-pi debian