bson_ext gem install fails on macOS
I found a better solution, when you install the gem add this at the end
This worked for me on MacOS 11.2.
gem install bson_ext -v '1.5.1' --source 'https://rubygems.org/' -- --with-cflags="-Wno-error=implicit-function-declaration"
1.5.1 is 9 years old, so there's no reason to believe that it should work. And, indeed, it also fails for me with the same error (Big Sur / 2.7.1 and 2.8.0).
That being said, if you 100% insist on doing this, and have no alternatives such as changing employers and/or a promising career in software archaeology to fall back on, try this:
Go to the folder indicated in the error message,
/Users/lukasz/.rvm/gems/ruby-2.6.5/gems/bson_ext-1.5.1 for inspection.
From there, go to
ext/cbson and edit the file
You need to insert one line, near to the top of the file:
/* A buffer */ typedef struct bson_buffer* bson_buffer_t; /* A position in the buffer */ typedef int bson_buffer_position; /***** THE FOLLOWING IS THE LINE YOU NEED TO INSERT ****/ int bson_buffer_get_max_size(bson_buffer_t buffer); /* Allocate and return a new buffer. * Return NULL on allocation failure. */ bson_buffer_t bson_buffer_new(void);
make in that folder. It should work with just a few warnings.
After that, you still need to install it. Check
gem help install for details on the process. This is following its instructions:
@ in bson_ext-1.5.1 $ gem spec ../../cache/bson_ext-1.5.1.gem --ruby > ../../specifications/bson_ext-1.5.1.gemspec
@ in bson_ext-1.5.1 $ gem list bson_ext *** LOCAL GEMS *** bson_ext (1.5.1)
Note that this was in the "original" folder again.
Even after that, just doing requite 'bson_ext' does not work for me and require 'bson' complains about it missing. According to that error message, you might succeed by moving–and I want to be very specific here–something, somewhere. No guarantee this will actually work. Probably not.