Je suis bloqué avec Install Bson_ext Gem avec version 1.5.1. J'ai presque tout essayé ce que j'ai trouvé sur le Web mais rien n'aide. J'ai essayé de réinstaller Ruby, RVM et ainsi de suite.
J'utilise:
et après l'installation de paquet, j'ai eu un journal comme ceci:
Fetching bson_ext 1.5.1
Installing bson_ext 1.5.1 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/lukasz/.rvm/gems/Ruby-2.6.5/gems/bson_ext-1.5.1/ext/cbson
/Users/lukasz/.rvm/rubies/Ruby-2.6.5/bin/Ruby -I /Users/lukasz/.rvm/rubies/Ruby-2.6.5/lib/Ruby/site_Ruby/2.6.0 -r ./siteconf20201001-15946-1sze5ll.rb 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
current directory: /Users/lukasz/.rvm/gems/Ruby-2.6.5/gems/bson_ext-1.5.1/ext/cbson
make "DESTDIR=" clean
current directory: /Users/lukasz/.rvm/gems/Ruby-2.6.5/gems/bson_ext-1.5.1/ext/cbson
make "DESTDIR="
compiling bson_buffer.c
compiling cbson.c
cbson.c:118:36: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
result_t status = check_string(RSTRING_PTR(string), RSTRING_LEN(string),
^~~~~~~~~~~~~~~~~~~
/Users/lukasz/.rvm/rubies/Ruby-2.6.5/include/Ruby-2.6.0/Ruby/ruby.h:1003:5: note: expanded from macro 'RSTRING_PTR'
(!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./encoding_helpers.h:26:44: note: passing argument to parameter 'string' here
result_t check_string(const unsigned char* string, const int length,
^
cbson.c:118:57: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
result_t status = check_string(RSTRING_PTR(string), RSTRING_LEN(string),
~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~
/Users/lukasz/.rvm/rubies/Ruby-2.6.5/include/Ruby-2.6.0/Ruby/ruby.h:1000:6: note: expanded from macro 'RSTRING_LEN'
RSTRING_EMBED_LEN(str) : \
^~~~~~~~~~~~~~~~~~~~~~
/Users/lukasz/.rvm/rubies/Ruby-2.6.5/include/Ruby-2.6.0/Ruby/ruby.h:996:6: note: expanded from macro 'RSTRING_EMBED_LEN'
(long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cbson.c:118:57: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
result_t status = check_string(RSTRING_PTR(string), RSTRING_LEN(string),
~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~
/Users/lukasz/.rvm/rubies/Ruby-2.6.5/include/Ruby-2.6.0/Ruby/ruby.h:1001:28: note: expanded from macro 'RSTRING_LEN'
RSTRING(str)->as.heap.len)
~~~~~~~~~~~~~~~~~~~~~~^~~
cbson.c:128:45: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
SAFE_WRITE(buffer, RSTRING_PTR(string), RSTRING_LEN(string));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/Users/lukasz/.rvm/rubies/Ruby-2.6.5/include/Ruby-2.6.0/Ruby/ruby.h:1000:6: note: expanded from macro 'RSTRING_LEN'
RSTRING_EMBED_LEN(str) : \
^
/Users/lukasz/.rvm/rubies/Ruby-2.6.5/include/Ruby-2.6.0/Ruby/ruby.h:996:6: note: expanded from macro 'RSTRING_EMBED_LEN'
(long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \
^
cbson.c:68:46: note: expanded from macro 'SAFE_WRITE'
if (bson_buffer_write((buffer), (data), (size)) != 0) \
~~~~~~~~~~~~~~~~~ ^~~~
cbson.c:128:45: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
SAFE_WRITE(buffer, RSTRING_PTR(string), RSTRING_LEN(string));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/Users/lukasz/.rvm/rubies/Ruby-2.6.5/include/Ruby-2.6.0/Ruby/ruby.h:1001:28: note: expanded from macro 'RSTRING_LEN'
RSTRING(str)->as.heap.len)
^
cbson.c:68:46: note: expanded from macro 'SAFE_WRITE'
if (bson_buffer_write((buffer), (data), (size)) != 0) \
~~~~~~~~~~~~~~~~~ ^~~~
cbson.c:303:20: warning: unused variable 'values' [-Wunused-variable]
VALUE* values;
^
cbson.c:602:18: error: implicit declaration of function 'bson_buffer_get_max_size' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
if (length > bson_buffer_get_max_size(buffer)) {
^
cbson.c:602:18: note: did you mean 'bson_buffer_set_max_size'?
./bson_buffer.h:34:6: note: 'bson_buffer_set_max_size' declared here
void bson_buffer_set_max_size(bson_buffer_t buffer, int max_size);
^
6 warnings and 1 error generated.
make: *** [cbson.o] Error 1
make failed, exit code 2
Gem files will remain installed in /Users/lukasz/.rvm/gems/Ruby-2.6.5/gems/bson_ext-1.5.1 for inspection.
Results logged to /Users/lukasz/.rvm/gems/Ruby-2.6.5/extensions/x86_64-darwin-19/2.6.0/bson_ext-1.5.1/gem_make.out
An error occurred while installing bson_ext (1.5.1), and Bundler cannot continue.
Make sure that `gem install bson_ext -v '1.5.1' --source 'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
bson_ext
Quelqu'un a une idée que puis-je essayer d'autre? De plus, je peux dire que bson_ext avec une autre version comme 1.9.1 est installé avec succès. Mais dans ce projet, je dois utiliser 1.5.1.
Installation de la version 1.3.1 a fonctionné pour moi