After ruby25 has been merged,, the followup emerge for rubygems update fails when emerge gets to the install phase. The eclass for ruby does not handle the existence of ruby25, and fails to set the $RUBY variable. Reproducible: Always Steps to Reproduce: 1. emerge --update dev-lang/ruby [to install ruby25] 2. emerge --update dev-ruby/rubygems 3. Actual Results: Install fails with emerge reporting $RUBY not set [see build log attached] Expected Results: normal update Attachments: dev-ruby/rubygems build log dev-ruby/rubygems info
Created attachment 511736 [details] build log
Created attachment 511738 [details] emerge --info =dev-ruby/rubygems-2.7.4
I have never seen this and I have no idea how this would happen. This needs further investigation, probably starting at the eclass.
Ok, so the eclass get the ${RUBY} value from $(type -p ruby25). So either dev-lang/ruby did not provide ruby25 or perhaps this is a hashing issue where the shell PATH is stale?
Created attachment 514846 [details] File listing of dev-lang/ruby-2.5.0-r1 build tree [10449 lines] This is a file listing of /var/tmp/portage/dev-lang/ruby-2.5.0-r1 directory from my latest attempt. Note that all the pieces are built, but there is no image directory, nor does the log file mention any installs in to /usr/bin or anything other than docs
Created attachment 514848 [details] emerge --info =dev-lang/ruby-2.5.0-r1
Created attachment 514850 [details] most recent buildlog for ruby
The problem appears to be a little clearer. The ruby-ng.eclass allows the install of ruby25 to fail silently! The build log shows that only a tiny bit of doc files for ruby25 are moved from image/ to the system tree; nothing in /usr/bin or elsewhere seem to exist. The einstall step seems to have failed, or its results get clobbered before the portage install phase gets invoked. Since ruby25 never get put in /usr/bin/ the eclass fails to find it and fails to set the ${RUBY} variable for the subsequent rubygems and other dependency installs. I have given the latest emerge --info; build log; and a listing of the files from /var/tmp/portage/dev-lang/ruby-2.5.0-r1 tree (used FEATURE=... keepwork ...) For the moment, I am backing off installing ruby25 might want to update bug title to reflect the error is in the ruby25 install, not the rubygems install.