Closed
Description
Version 3.2.0 is missing a corresponding -java
platform gem on rubygems https://rubygems.org/gems/bigdecimal/versions/3.2.0. This is causing installation failures on JRuby. This breaks JRuby applications that depend on the bigdecimal
gem as native extensions are not able to be compiled.
➜ bigdecimal cat Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
gem "bigdecimal"
➜ bigdecimal bundle install
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using bundler 2.3.26
Fetching bigdecimal 3.2.0
Installing bigdecimal 3.2.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/gems/shared/gems/bigdecimal-3.2.0/ext/bigdecimal
/Users/cas/.rbenv/versions/jruby-9.4.9.0/bin/jruby -I
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib extconf.rb
checking for __builtin_clz()... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/cas/.rbenv/versions/jruby-9.4.9.0/bin/jruby
RuntimeError: The compiler failed to generate an executable file.
You have to install development tools first.
try_do at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:456
try_compile at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:571
with_werror at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:524
try_compile at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:571
have_builtin_func at extconf.rb:6
checking_for at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:942
postpone at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:350
open at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:320
postpone at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:350
open at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:320
postpone at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:346
checking_for at
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/mkmf.rb:941
have_builtin_func at extconf.rb:5
<main> at extconf.rb:18
To see why this extension failed to compile, please check the mkmf.log which can
be found here:
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/gems/shared/extensions/universal-java-21/3.1.0/bigdecimal-3.2.0/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/gems/shared/gems/bigdecimal-3.2.0
for inspection.
Results logged to
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/gems/shared/extensions/universal-java-21/3.1.0/bigdecimal-3.2.0/gem_make.out
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/rubygems/ext/builder.rb:102:in
`run'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/rubygems/ext/ext_conf_builder.rb:28:in
`build'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/rubygems/ext/builder.rb:171:in
`build_extension'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/rubygems/ext/builder.rb:205:in
`block in build_extensions'
org/jruby/RubyArray.java:1981:in `each'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/rubygems/ext/builder.rb:202:in
`build_extensions'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/rubygems/installer.rb:843:in
`build_extensions'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/rubygems_gem_installer.rb:72:in
`build_extensions'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/rubygems_gem_installer.rb:28:in
`install'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/source/rubygems.rb:207:in
`install'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/installer/gem_installer.rb:54:in
`install'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/installer/parallel_installer.rb:186:in
`do_install'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/installer/parallel_installer.rb:177:in
`block in worker_pool'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/worker.rb:62:in
`apply_func'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/worker.rb:57:in
`block in process_queue'
org/jruby/RubyKernel.java:1725:in `loop'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/worker.rb:54:in
`process_queue'
/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/stdlib/bundler/worker.rb:91:in
`block in create_threads'
An error occurred while installing bigdecimal (3.2.0), and Bundler
cannot continue.
In Gemfile:
bigdecimal
➜ bigdecimal cat /Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/gems/shared/extensions/universal-java-21/3.1.0/bigdecimal-3.2.0/mkmf.log
" -o conftest -I/include/universal-java21 -I/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/include/ruby/backward -I/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib/ruby/include -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -DTARGET_RT_MAC_CFM=0 -fno-omit-frame-pointer -fno-strict-aliasing -fexceptions conftest.c -L. -L/Users/cas/.rbenv/versions/jruby-9.4.9.0/lib -arch arm64 "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <ruby.h>
4: int main(int argc, char **argv)
5: {
6: return 0;
7: }
/* end */
Metadata
Metadata
Assignees
Labels
No labels