>>> Test phase: app-text/htmltidy-5.8.0-r1 Could not find gem 'tty-editor' in locally installed gems. Run `bundle install` to install missing gems. * ERROR: app-text/htmltidy-5.8.0-r1::gentoo failed (test phase): * Test execution failed * * Call stack: * ebuild.sh, line 127: Called src_test * environment, line 2739: Called die ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1-j4_test-20211117-040043 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-11.2.0 * clang version 13.0.0 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/13/bin /usr/lib/llvm/13 13.0.0 Python 3.9.9 Available Ruby profiles: [1] ruby26 (with Rubygems) [2] ruby27 (with Rubygems) [3] ruby30 (with Rubygems) * Available Rust versions: [1] rust-1.56.1 * The Glorious Glasgow Haskell Compilation System, version 8.10.4 php cli: HEAD of ::gentoo commit 494142130d7137a49112819734fe51f7ff5c16c1 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Thu Nov 18 02:05:56 2021 +0000 2021-11-18 02:05:55 UTC emerge -qpvO app-text/htmltidy [ebuild N ] app-text/htmltidy-5.8.0-r1 USE="test -deprecated" RUBY_TARGETS="ruby26 ruby27"
Created attachment 752542 [details] emerge-info.txt
Created attachment 752546 [details] app-text:htmltidy-5.8.0-r1:20211118-032141.log
Created attachment 752550 [details] emerge-history.txt
Created attachment 752554 [details] environment
Created attachment 752558 [details] etc.portage.tar.bz2
Update summary. [something] is used when something refers to an overlay
According to emerge-history.txt dev-ruby/tty-editor IS installed, and RUBY_TARGETS in htmltidy and tty-editor match. Adding the Ruby team to Cc, maybe they'll have some ideas.
I had a similar problem to this but it was thor that was missing from locally installed gems. Thor is on my system, and is compiled with ruby27. I have both ruby27 and rub31 installed. I noticed Toralf has the ruby30 profile selected. When I changed the profile from 31 to 27 htmltidy passed the tests without the error, but when profile 31 is selected, it will fail to find thor. It seems multiple ruby profiles will cause test failures for some ruby packages even if the required test dependencies are available with the correct ruby versions.
Following up, I wanted to have more similar variables to Toralf. I removed Ruby 3.1 and installed Ruby 3.0. Set my profile to 3.0, and got the same exact error. tty-editor does not have a Ruby 3.0, only 2.7, and of course like with thor eselect ruby set ruby27 fixes the issue. Thor has a ruby30, but no ruby31, which seems to be why htmltidy is failing. If the required ruby modules for the test doesn't have a version that you have selected, htmltidy will fail so you need to fallback. Looking at the ruby flags for htmltidy, it looks like it requires ruby27 anyway.
Yes, unfortunately there is no runtime check to ensure that the ruby version you've eselected matches what is installed. We'd probably need a mechanism like with python for that. I've added ruby30 to tty-editor.