Skip to content

io-console compilation fails #107

@guystrelitz

Description

@guystrelitz

bundle update fails when it reaches io-console:

current directory:
/Users/guystrelitz/.rvm/gems/ruby-3.0.0/gems/io-console-0.8.1/ext/io/console
make "DESTDIR="
compiling console.c
console.c:1592:12: error: call to undeclared function
'rb_ractor_local_storage_value_lookup'; ISO C99 and later do not support
implicit function declarations [-Wimplicit-function-declaration]
 1592 |     return rb_ractor_local_storage_value_lookup(key_console_dev, dev);
      |            ^
console.c:1592:12: note: did you mean 'rb_ractor_local_storage_value_newkey'?
/Users/guystrelitz/.rvm/rubies/ruby-3.0.0/include/ruby-3.0.0/ruby/ractor.h:33:23:
note: 'rb_ractor_local_storage_value_newkey' declared here
   33 | rb_ractor_local_key_t rb_ractor_local_storage_value_newkey(void);
      |                       ^
1 error generated.
make: *** [console.o] Error 1

make failed, exit code 2

Gem files will remain installed in
/Users/guystrelitz/.rvm/gems/ruby-3.0.0/gems/io-console-0.8.1 for inspection.
Results logged to
/Users/guystrelitz/.rvm/gems/ruby-3.0.0/extensions/arm64-darwin-21/3.0.0/io-console-0.8.1/gem_make.out

An error occurred while installing io-console (0.8.1), and Bundler
cannot continue.
Make sure that `gem install io-console -v '0.8.1' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  devise was resolved to 4.9.4, which depends on
    responders was resolved to 3.2.0, which depends on
      railties was resolved to 7.1.6, which depends on
        irb was resolved to 1.15.3, which depends on
          reline was resolved to 0.6.2, which depends on
            io-console

Running the raw gem install to investigate/resolve gives essentially the same outcome:
gem install io-console -v '0.8.1' --source 'https://rubygems.org/'

ERROR:  While executing gem ... (OptionParser::InvalidOption)
    invalid option: --sourcehttps://rubygems.org/
omnivore-server Thu 11:39 % gem install io-console -v '0.8.1' --source 'https://rubygems.org/'
Building native extensions. This could take a while...
ERROR:  Error installing io-console:
	ERROR: Failed to build gem native extension.

    current directory: /Users/guystrelitz/.rvm/gems/ruby-3.0.0/gems/io-console-0.8.1/ext/io/console
/Users/guystrelitz/.rvm/rubies/ruby-3.0.0/bin/ruby -I /Users/guystrelitz/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0 -r ./siteconf20251106-71665-8l5lkf.rb extconf.rb
checking for rb_syserr_fail_str(0, Qnil)... yes
checking for rb_interned_str_cstr()... yes
checking for rb_io_path() in ruby/io.h... no
checking for rb_io_descriptor() in ruby/io.h... no
checking for rb_io_get_write_io() in ruby/io.h... yes
checking for rb_io_closed_p() in ruby/io.h... no
checking for rb_io_open_descriptor() in ruby/io.h... no
checking for rb_ractor_local_storage_value_newkey()... yes
checking for termios.h... yes
checking for cfmakeraw() in termios.h... yes
checking for sys/ioctl.h... yes
checking for HAVE_RUBY_FIBER_SCHEDULER_H... no
checking for rb_scheduler_timeout()... no
checking for ttyname_r()... yes
creating Makefile

current directory: /Users/guystrelitz/.rvm/gems/ruby-3.0.0/gems/io-console-0.8.1/ext/io/console
make "DESTDIR=" clean

current directory: /Users/guystrelitz/.rvm/gems/ruby-3.0.0/gems/io-console-0.8.1/ext/io/console
make "DESTDIR="
compiling console.c
console.c:1592:12: error: call to undeclared function 'rb_ractor_local_storage_value_lookup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
 1592 |     return rb_ractor_local_storage_value_lookup(key_console_dev, dev);
      |            ^
console.c:1592:12: note: did you mean 'rb_ractor_local_storage_value_newkey'?
/Users/guystrelitz/.rvm/rubies/ruby-3.0.0/include/ruby-3.0.0/ruby/ractor.h:33:23: note: 'rb_ractor_local_storage_value_newkey' declared here
   33 | rb_ractor_local_key_t rb_ractor_local_storage_value_newkey(void);
      |                       ^
1 error generated.
make: *** [console.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/guystrelitz/.rvm/gems/ruby-3.0.0/gems/io-console-0.8.1 for inspection.
Results logged to /Users/guystrelitz/.rvm/gems/ruby-3.0.0/extensions/arm64-darwin-21/3.0.0/io-console-0.8.1/gem_make.out

Runing on:

  • MacOS 15.4 Sequoia
  • M1 ARM processor
  • ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [arm64-darwin21] running in rvm

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions