Coder Social home page Coder Social logo

Comments (9)

ashinkuniyil avatar ashinkuniyil commented on April 27, 2024 6

Adding gem 'rb-readline' before gem "fastlane" in the Gemfile resolved the issue for me.

xcode:
macos:
xcode: '15.3.0'

Ruby 3.3.0

from fastlane.

jRichardeau avatar jRichardeau commented on April 27, 2024 1

We found a workaround, the issue seems to come from a ruby update on version 3.3.0 that removes ext/readline.

The solution is to freeze ruby version to 3.2 or install yourself the removed dependency with gem install readline-ext.

Maybe there is something to update on fastlane codebase ? πŸ‘€

from fastlane.

airowe avatar airowe commented on April 27, 2024 1

@jRichardeau Why was this closed? Still seeing this issue in our setup.

from fastlane.

dolzhenko-tony avatar dolzhenko-tony commented on April 27, 2024

Updated macos-orb to 2.4.1 and ruby-orb to 2.1.1 fixed problem.

from fastlane.

NeilCossorFrollo avatar NeilCossorFrollo commented on April 27, 2024

just hit the same issue, and macos orb 2.4.1 and ruby orb 2.1.1 did not get around the issue..
"setup_circle_ci step fails with error "The terminfo database could not be found"

from fastlane.

airowe avatar airowe commented on April 27, 2024

just hit the same issue, and macos orb 2.4.1 and ruby 2.1.1 did not get around the issue..

"setup_circle_ci step fails with error "The terminfo database could not be found"

Ruby version should be fixed to 3.2, not 2.1.1 (that's the version of the Ruby orb).

from fastlane.

Vaidios avatar Vaidios commented on April 27, 2024

Locking ruby version to 3.2 works, if anyone is wondering, this can be done through macOS orb:

- macos/switch-ruby:
       version: "3.2"

This does seem like a temporary solution to this problem though.

After my quick investigation it indeed seems like tty-screen gem uses readline on line 356:
ruby/3.3.0/gems/tty-screen-0.8.2/lib/tty/screen.rb:356:insize_from_readline'`
which s being retired on ruby 3.3.

It seems like the best approach to it would be to fix it in tty-screen gem and then bump this fastlane dependency, is that right?
This is my first time trying to contribute to open source in any way, so I don't really know my way around these problems :D

Edit:
I created a following issue in tty-screen repo
piotrmurach/tty-screen#18

from fastlane.

pedrofneves avatar pedrofneves commented on April 27, 2024

Use the previous macos machine 15.2.0 on CircleCI. It worked for me.

https://circleci.com/docs/using-macos/

from fastlane.

piotrmurach avatar piotrmurach commented on April 27, 2024

The tty-screen when attempting to detect size from readline attempts to load this standard gem. Loading the readline gem on Ruby 3.3 will first attempt to load the readline-ext C extension when present or fall back to using the pure Ruby reline gem.

Therefore, by default tty-screen doesn't install or rely on the readline-ext gem on Ruby 3.3 as it is no longer part of the installation as noted by @jRichardeau, however, given the log output, it uses reline to try to detect terminal size. In turn, the Reline::TermInfo module setupterm tries to find out if a terminal is attached via the curses extension and fails.

I've noticed that the Circle CI setup uses tty-screen version 0.8.1. There is a newer release of tty-screen, version 0.8.2. In this release, I check if the terminal is attached before attempting to load readline and following that reline dependency. Therefore, my suggestion would be to upgrade tty-screen to 0.8.2 on Ruby 3.3 and see if that resolves the issue.

from fastlane.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.