Installing Redmine. I've tried,
bundle install --without development test postgresql sqlite
, but error.
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
/usr/local/lib/ruby/gems/2.4.0/gems/json-1.8.3/ext/json/ext/generator
/usr/local/bin/ruby -r ./siteconf20161228-21055-1dxe9y9.rb extconf.rb
creating Makefile
current directory:
/usr/local/lib/ruby/gems/2.4.0/gems/json-1.8.3/ext/json/ext/generator
make "DESTDIR=" clean
current directory:
/usr/local/lib/ruby/gems/2.4.0/gems/json-1.8.3/ext/json/ext/generator
make "DESTDIR="
compiling generator.c
generator.c: In function ‘generate_json’:
generator.c:861: error: ‘rb_cFixnum’ undeclared (first use in this
function)
generator.c:861: error: (Each undeclared identifier is reported only
once
generator.c:861: error: for each function it appears in.)
generator.c:863: error: ‘rb_cBignum’ undeclared (first use in this
function)
At top level:
cc1: warning: unrecognized command line option "-Wno-self-assign"
cc1: warning: unrecognized command line option
"-Wno-constant-logical-operand"
cc1: warning: unrecognized command line option
"-Wno-parentheses-equality"
cc1: warning: unrecognized command line option
"-Wno-tautological-compare"
make: *** [generator.o] error 1
make failed, exit code 2
Gem files will remain installed in
/usr/local/lib/ruby/gems/2.4.0/gems/json-1.8.3 for inspection.
Results logged to
/usr/local/lib/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0-static/json-1.8.3/gem_make.out
An error occurred while installing json (1.8.3), and Bundler
cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before
bundling.
So, I've tried gem install json -v '1.8.3
, but I couldn't solve it.
Would you mind just read this problem?
I had the same issue right now. To solve it install the latest version of
bundler
andrmagick
manually usinggem install
update all other packages withgem update
andbundle update
. This solved this dependency issue ofjson 1.8.3
andruby 2.4
.But I run in some more problems afterwords. It seams like
ruby 2.4
does some changes in the interpretation of number which means it is not compatible withrail 4.x
anymore (see this post). Updatingrails
and its dependencies seems to be not possibles yet as redmine needsprotected_attributes
which depends onactivemodel (< 5.0, >= 4.0.1)
andrails 5.x
depends onactivemodel 5.x
.It is always bad if an update breaks backward compatibility especially for programming language :(
first run
It installs the newer bundler and solves the native extension dependencies
then run
it should solve the your issue
Ruby 2.4 is very new. In fact, it was released only 3 days ago.
Since there are several impirtant internal changes in Ruby 2.4, it is quite likely that many gems (and Redmine itself) are not yet compatible with this version of Ruby.
From your error message, it does indeed seem that the JSON gem needs to be adapted in order to handle some changes in Ruby 2.4 regarding whole numbers.
You should use an older version of Ruby for now, e.g. Ruby 2.3.3. As you can see on http://www.redmine.org/projects/redmine/wiki/RedmineInstall#Ruby-interpreter, Redmine requires specific Ruby versions depending on the version of Redmine.