On Wednesday, 12 October 2022 01:12:00 BST Jack wrote: > On 2022.10.11 19:41, Michael wrote: > > NOTE: ruby 3.0 and 3.1 are marked as testing. > > I explicitly have ruby-3.1 unmasked with "=dev-lang/ruby-3.1.2-r1 > ~amd64" in package.accept_keyword, and USE_RUBY="ruby31" in make.conf. Try setting in your /etc/make.conf this expression instead: RUBY_TARGETS="ruby31" as per https://wiki.gentoo.org/wiki/Ruby and if you have not yet switched to using it, run: eselect ruby set ruby31 > I do not see any reference to ruby in the profile. Is there somewhere > else I need to unmask something? emerge --info also says > 'RUBY_TARGETS="ruby31"' as its only reference to a specific ruby > version. That's what you'd add in your make.conf, for this ruby slot to be used globally. > As I said in my reply to Neil, why would this happen in just a handful > of packages, but not in over thirty others? mini_mime is the other > problem package, and it does not use ruby_add_bdepend so there is only > one line with USE_RUBY: 'USE_RUBY="ruby26 ruby27 ruby30 ruby31"'. I think it is relevant to how these USE variables are parsed and their syntax. If you specify the ruby version via a USE flag, then this should be: USE="ruby31" emerge -pv blah-blah You need to specify it as above and since you want to use ruby31 wholesale on your system, set it in make.conf as the wiki page explains.