Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TruffleRuby CI Fails When Installing io-console #1032

Closed
ima1zumi opened this issue Nov 18, 2024 · 10 comments
Closed

TruffleRuby CI Fails When Installing io-console #1032

ima1zumi opened this issue Nov 18, 2024 · 10 comments

Comments

@ima1zumi
Copy link
Member

Description

Since November 13, TruffleRuby's CI has been failing when attempting to install the io-console gem.

An error occurred while installing io-console (0.7.2), and Bundler cannot
continue.

In Gemfile:
  irb was resolved to 1.14.1, which depends on
    reline was resolved to 0.5.11, which depends on
      io-console

https://github.com/ruby/irb/actions/runs/11879710332/job/33101967182

Full log

Run ruby/setup-ruby@v1
Modifying PATH
Downloading Ruby
Extracting  Ruby
Print Ruby version
Installing Bundler
> bundle install
/home/runner/.rubies/truffleruby-head/bin/bundle config --local path /home/runner/work/irb/irb/vendor/bundle
/home/runner/.rubies/truffleruby-head/bin/bundle lock
Fetching https://github.com/ruby/debug.git
Fetching https://github.com/ruby/reline.git
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Writing lockfile to /home/runner/work/irb/irb/Gemfile.lock
Cache key: setup-ruby-bundler-cache-v6-ubuntu-22.04-x64-truffleruby-head-wd-/home/runner/work/irb/irb-with--without--only--ABI-3.3.5.2-Gemfile.lock-4b[7](https://github.com/ruby/irb/actions/runs/11879710332/job/33101967182#step:3:8)fce7ba9fe1d364c7716a8a7d4a89352945980e[10](https://github.com/ruby/irb/actions/runs/11879710332/job/33101967182#step:3:12)847840e65da9e01cbcf24
/home/runner/.rubies/truffleruby-head/bin/bundle install --jobs 4
Fetching gem metadata from https://rubygems.org/........
Fetching rake [13](https://github.com/ruby/irb/actions/runs/11879710332/job/33101967182#step:3:16).2.1
Installing rake 13.2.1
Fetching io-console 0.7.2
Fetching stringio 3.1.2
Fetching ast 2.4.2
Fetching json 2.8.2
Installing io-console 0.7.2 with native extensions
Installing stringio 3.1.2 with native extensions
Installing ast 2.4.2
Installing json 2.8.2 with native extensions
Fetching language_server-protocol 3.17.0.3
Installing language_server-protocol 3.17.0.3
Fetching parallel 1.26.3
Installing parallel 1.26.3
Fetching racc 1.8.1
Installing racc 1.8.1 with native extensions
Fetching power_assert 2.0.4
Installing power_assert 2.0.4
Fetching rainbow 3.1.1
Installing rainbow 3.1.1
Fetching regexp_parser 2.9.2
Installing regexp_parser 2.9.2
Fetching ruby-progressbar 1.13.0
Installing ruby-progressbar 1.13.0
Fetching unicode-display_width 2.6.0
Fetching psych 5.2.0
Installing unicode-display_width 2.6.0
Fetching test-unit 3.6.2
Installing psych 5.2.0 with native extensions
Installing test-unit 3.6.2
Fetching parser 3.3.6.0
Installing parser 3.3.6.0
Fetching test-unit-ruby-core 1.0.6
Installing test-unit-ruby-core 1.0.6
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/home/runner/work/irb/irb/vendor/bundle/truffleruby/3.3.5.2/gems/io-console-0.7.2/ext/io/console
/home/runner/.rubies/truffleruby-head/bin/ruby extconf.rb
checking for rb_io_path()... yes
checking for rb_io_descriptor()... yes
checking for rb_io_get_write_io()... yes
checking for rb_io_closed_p()... no
checking for rb_io_open_descriptor()... no
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... yes
creating Makefile

current directory:
/home/runner/work/irb/irb/vendor/bundle/truffleruby/3.3.5.2/gems/io-console-0.7.2/ext/io/console
make DESTDIR\= sitearchdir\=./.gem.20241117-1975-arx3je
sitelibdir\=./.gem.20241117-1975-arx3je clean

current directory:
/home/runner/work/irb/irb/vendor/bundle/truffleruby/3.3.5.2/gems/io-console-0.7.2/ext/io/console
make DESTDIR\= sitearchdir\=./.gem.20241117-1975-arx3je
sitelibdir\=./.gem.20241117-1975-arx3je
compiling console.c
console.c: In function ‘io_open_descriptor_fallback’:
console.c:1549:5: warning: ‘pathv’ is deprecated: rb_io_path
[-Wdeprecated-declarations]
 1549 |     fptr->pathv = path;
      |     ^~~~
In file included from console.c:10:
/home/runner/.rubies/truffleruby-head/lib/cext/include/ruby/io.h:174:11: note:
declared here
  174 |     VALUE pathv;
      |           ^~~~~
console.c:1550:5: warning: ‘mode’ is deprecated: rb_io_mode
[-Wdeprecated-declarations]
 1550 |     fptr->mode |= mode;
      |     ^~~~
In file included from console.c:10:
/home/runner/.rubies/truffleruby-head/lib/cext/include/ruby/io.h:[16](https://github.com/ruby/irb/actions/runs/11879710332/job/33101967182#step:3:20)0:9: note:
declared here
  160 |     int mode;
      |         ^~~~
console.c: At top level:
console.c:1559:1: error: static declaration of ‘rb_io_closed_p’ follows
non-static declaration
 1559 | rb_io_closed_p(VALUE io)
      | ^~~~~~~~~~~~~~
In file included from console.c:10:
/home/runner/.rubies/truffleruby-head/lib/cext/include/ruby/io.h:393:7: note:
previous declaration of ‘rb_io_closed_p’ with type ‘VALUE(VALUE)’ {aka ‘long
unsigned int(long unsigned int)’}
  393 | VALUE rb_io_closed_p(VALUE io);
      |       ^~~~~~~~~~~~~~
console.c: In function ‘rb_io_closed_p’:
console.c:1562:5: warning: ‘fd’ is deprecated: rb_io_descriptor
[-Wdeprecated-declarations]
 1562 |     return fptr->fd == -1 ? Qtrue : Qfalse;
      |     ^~~~~~
In file included from console.c:10:
/home/runner/.rubies/truffleruby-head/lib/cext/include/ruby/io.h:156:9: note:
declared here
  156 |     int fd;
      |         ^~
make: *** [Makefile:489: console.o] Error 1

make failed, exit code 2

Gem files will remain installed in
/home/runner/work/irb/irb/vendor/bundle/truffleruby/3.3.5.2/gems/io-console-0.7.2
for inspection.
Results logged to
/home/runner/work/irb/irb/vendor/bundle/truffleruby/3.3.5.2/extensions/x86_64-linux/3.3.5.2/io-console-0.7.2/gem_make.out

/home/runner/.rubies/truffleruby-head/lib/mri/rubygems/ext/builder.rb:125:in
`run'
/home/runner/.rubies/truffleruby-head/lib/mri/rubygems/ext/builder.rb:51:in
`block in make'
/home/runner/.rubies/truffleruby-head/lib/mri/rubygems/ext/builder.rb:43:in
`each'
/home/runner/.rubies/truffleruby-head/lib/mri/rubygems/ext/builder.rb:43:in
`make'
/home/runner/.rubies/truffleruby-head/lib/mri/rubygems/ext/ext_conf_builder.rb:42:in
`build'
/home/runner/.rubies/truffleruby-head/lib/mri/rubygems/ext/builder.rb:193:in
`build_extension'
/home/runner/.rubies/truffleruby-head/lib/mri/rubygems/ext/builder.rb:227:in
`block in build_extensions'
/home/runner/.rubies/truffleruby-head/lib/mri/rubygems/ext/builder.rb:224:in
`each'
/home/runner/.rubies/truffleruby-head/lib/mri/rubygems/ext/builder.rb:224:in
`build_extensions'
/home/runner/.rubies/truffleruby-head/lib/mri/rubygems/installer.rb:853:in
`build_extensions'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/rubygems_gem_installer.rb:109:in
`build_extensions'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/rubygems_gem_installer.rb:28:in
`install'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/source/rubygems.rb:[20](https://github.com/ruby/irb/actions/runs/11879710332/job/33101967182#step:3:25)5:in
`install'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/installer/gem_installer.rb:54:in
`install'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/installer/parallel_installer.rb:132:in
`do_install'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/installer/parallel_installer.rb:1[23](https://github.com/ruby/irb/actions/runs/11879710332/job/33101967182#step:3:29):in
`block in worker_pool'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/worker.rb:62:in
`apply_func'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/worker.rb:57:in `block
in process_queue'
  <internal:core> core/kernel.rb:417:in `loop'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/worker.rb:54:in
`process_queue'
/home/runner/.rubies/truffleruby-head/lib/mri/bundler/worker.rb:90:in `block
(2 levels) in create_threads'

An error occurred while installing io-console (0.7.2), and Bundler cannot
continue.

In Gemfile:
  irb was resolved to 1.14.1, which depends on
    reline was resolved to 0.5.11, which depends on
      io-console
@ima1zumi
Copy link
Member Author

@andrykonchin
Hi. Since November 13, TruffleRuby's CI has been failing when attempting to install the io-console gem.

I'm not very familiar with TruffleRuby, so I was wondering if you could take a look. @eregon mentioned that you might be able to help.

Thank you in advance!

@andrykonchin
Copy link
Member

andrykonchin commented Nov 18, 2024

Hello. Thank you for letting us know! Will work on it soon.

Currently we are working on compatibility with Ruby 3.3 (that is tracked in oracle/truffleruby#3681) and some C functions like rb_io_closed_p and rb_io_open_descriptor (that were introduced in Ruby 3.3) aren't implemented yet.

@andrykonchin
Copy link
Member

andrykonchin commented Nov 22, 2024

The fix is merged and a new dev build will be available soon.

cc @eregon

@ima1zumi
Copy link
Member Author

CI is now green. Thank you so much for your help!
https://github.com/ruby/irb/actions/runs/11987988053

@st0012
Copy link
Member

st0012 commented Nov 23, 2024

It’s because I moved truffleruby tests to another workflow and have disabled it for now.
Let’s reopen this until we can reenable it.

@st0012 st0012 reopened this Nov 23, 2024
@ima1zumi
Copy link
Member Author

Sorry for my misunderstanding. Thanks for your comment.
It appears that the same test has been failing in Reline as well. https://github.com/ruby/reline/actions/runs/11997028312/job/33442167428

@eregon
Copy link
Member

eregon commented Nov 24, 2024

The reason the fix is not seen yet is dev builds have been failing https://github.com/ruby/truffleruby-dev-builder/actions due to oracle/truffleruby#3724

@andrykonchin
Copy link
Member

The issue with dev builds is resolved and a fresh one is available (https://github.com/ruby/truffleruby-dev-builder/releases/tag/v20241128.080917)

@st0012
Copy link
Member

st0012 commented Nov 28, 2024

@andrykonchin Thank you. I've re-enabled the truffleruby build and all tests are passing now, so I'm closing this as completed 👍

@st0012 st0012 closed this as completed Nov 28, 2024
@andrykonchin
Copy link
Member

Great, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants