为什么安装bson_ext会出错?

时间:2012-05-17 08:26:04

标签: ruby-on-rails ruby ruby-on-rails-3.1 mongoid bson

当我在Rails项目文件夹中执行以下命令时:

gem install bson_ext

我收到了这个错误:

#result
Building native extensions.  This could take a while...
ERROR:  Error installing bson_ext:
    ERROR: Failed to build gem native extension.

    /home/absolute/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb
checking for asprintf()... yes
checking for ruby/st.h... yes
checking for ruby/regex.h... yes
checking for ruby/encoding.h... yes
creating Makefile

make
compiling bson_buffer.c
compiling cbson.c
cbson.c: In function ‘write_element’:
cbson.c:439:17: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-    after-statement]
cbson.c: In function ‘write_doc’:
cbson.c:608:5: warning: implicit declaration of function ‘bson_buffer_get_max_size’     [-Wimplicit-function-declaration]
cbson.c: In function ‘objectid_generate’:
cbson.c:911:9: warning: implicit declaration of function ‘htonl’ [-Wimplicit-function-declaration]
cbson.c:919:5: warning: implicit declaration of function ‘htons’ [-Wimplicit-function-declaration]
compiling encoding_helpers.c
linking shared-object bson_ext/cbson.so

make install
/bin/install -c -m 0755 cbson.so /home/absolute/.rvm/gems/ruby-1.9.3-p0/gems/bson_ext-1.6.2/ext/bson_ext
make: /bin/install: Command not found
make: *** [/home/absolute/.rvm/gems/ruby-1.9.3-p0/gems/bson_ext-1.6.2/ext/bson_ext/cbson.so] Error 127


Gem files will remain installed in /home/absolute/.rvm/gems/ruby-1.9.3- p0/gems/bson_ext-1.6.2 for inspection.
Results logged to /home/absolute/.rvm/gems/ruby-1.9.3-p0/gems/bson_ext-1.6.2/ext/cbson/gem_make.out

我在我的Rails项目中使用mongoid。安装bson_ext gem,它给了我上面的错误。

有人可以告诉我这是什么问题吗?

2 个答案:

答案 0 :(得分:1)

不确定为什么make没有使用正确的install。但是很容易做出快速修复:

sudo ln -s /usr/bin/install /bin/install

这会将现有安装链接到/bin,并应启用make

答案 1 :(得分:0)

如果您使用捆绑安装,则需要运行

bundle config build.bson_ext --with-cflags="-Wno-error=implicit-function-declaration"