Firstly, this construct is a bit nuts: REQUIRED_USE="ruby? ( ^^ ( $(ruby_get_use_targets) ) ) $(for t in $(ruby_get_use_targets); do echo "${t}? ( ruby )"; done)" That means if any values of RUBY_TARGETS are set ... then USE="ruby" is required. Which is a bit of a mess when RUBY_TARGETS has default values set globally .... It makes more sense that without USE="ruby", that RUBY_TARGETS do nothing. That aside, this looks like a possible issue in rubygems, so I'm CCing ruby@ as well. Failure: checking whether you have posix-like job control... yes checking whether to include wserv support... yes checking whether to include Valgrind Memcheck support... no checking for perl... yes checking whether to support Perl... yes checking whether embedded perl works the way I expect... yes checking whether to support TCL... no checking whether to support Ruby... yes /usr/lib64/ruby/2.3.0/rubygems.rb:17:in `require': cannot load such file -- rubygems/compatibility (LoadError) from /usr/lib64/ruby/2.3.0/rubygems.rb:17:in `<top (required)>' from <internal:gem_prelude>:4:in `require' from <internal:gem_prelude>:4:in `<internal:gem_prelude>' /usr/lib64/ruby/2.3.0/rubygems.rb:17:in `require': cannot load such file -- rubygems/compatibility (LoadError) from /usr/lib64/ruby/2.3.0/rubygems.rb:17:in `<top (required)>' from <internal:gem_prelude>:4:in `require' from <internal:gem_prelude>:4:in `<internal:gem_prelude>' /usr/lib64/ruby/2.3.0/rubygems.rb:17:in `require': cannot load such file -- rubygems/compatibility (LoadError) from /usr/lib64/ruby/2.3.0/rubygems.rb:17:in `<top (required)>' from <internal:gem_prelude>:4:in `require' from <internal:gem_prelude>:4:in `<internal:gem_prelude>' /usr/lib64/ruby/2.3.0/rubygems.rb:17:in `require': cannot load such file -- rubygems/compatibility (LoadError) from /usr/lib64/ruby/2.3.0/rubygems.rb:17:in `<top (required)>' from <internal:gem_prelude>:4:in `require' from <internal:gem_prelude>:4:in `<internal:gem_prelude>' checking whether embedded ruby works the way I expect... no checking whether ruby requires -pthread to link... configure: error: --with-ruby was specified but I could not locate ruby. Please try specifying --with-ruby=/path/to/ruby or --without-ruby. Install plan data: FEATURES=\ -test emerge -t1 --quiet-build=y --quiet-repo-display --nospinner --autounmask=y --autounmask-keep-masks=y --autounmask-unrestricted-atoms=n --autounmask-continue --unordered-display --verbose --backtrack=100 --jobs=1 --with-test-deps=n =net-irc/epic5-1.1.10-r1 These are the packages that would be merged: Calculating dependencies ..... done! [ebuild N ] net-irc/epic5-1.1.10-r1 USE="ipv6 perl ruby -archive -socks5 -tcl -valgrind" RUBY_TARGETS="ruby23 -ruby22" 0 KiB [ebuild N ] dev-lang/ruby-2.3.6:2.3 USE="berkdb gdbm ipv6 ncurses rdoc readline ssl -debug -doc -examples -jemalloc -libressl -rubytests -socks5 -tk -xemacs" 0 KiB [ebuild N ] dev-ruby/did_you_mean-1.0.2:1 USE="{-test}" RUBY_TARGETS="ruby23" 0 KiB [ebuild N ] virtual/rubygems-11 RUBY_TARGETS="ruby22 ruby23 (-rbx)" 0 KiB [ebuild N ] dev-ruby/rubygems-2.6.14 USE="-server {-test}" RUBY_TARGETS="ruby22 ruby23 (-ruby24)" 0 KiB [ebuild N ] dev-lang/ruby-2.2.9:2.2 USE="berkdb gdbm ipv6 ncurses rdoc readline ssl -debug -doc -examples -jemalloc -libressl -rubytests -socks5 -tk -xemacs" 0 KiB [ebuild N ] dev-libs/libyaml-0.1.7 USE="-doc -examples -static-libs {-test}" 0 KiB [ebuild N ] dev-ruby/rdoc-4.3.0 USE="-doc {-test}" RUBY_TARGETS="ruby22 ruby23" 0 KiB [ebuild N ] dev-ruby/json-1.8.6-r1 USE="-doc {-test}" RUBY_TARGETS="ruby22 ruby23 (-ruby24)" 0 KiB [ebuild N ] dev-ruby/rake-10.5.0 USE="-doc {-test}" RUBY_TARGETS="ruby22 ruby23" 0 KiB [ebuild N ] dev-util/ragel-6.10 USE="-vim-syntax" 0 KiB [ebuild N ] dev-ruby/racc-1.4.14 USE="-doc {-test}" RUBY_TARGETS="ruby22 ruby23 (-ruby24) (-ruby25)" 0 KiB [ebuild N ] app-eselect/eselect-ruby-20170723 0 KiB [ebuild N ] dev-ruby/test-unit-3.1.9:2 USE="-doc {-test}" RUBY_TARGETS="ruby22 ruby23" 0 KiB [ebuild N ] dev-ruby/power_assert-0.3.1 USE="-doc {-test}" RUBY_TARGETS="ruby22 ruby23" 0 KiB [ebuild N ] dev-ruby/minitest-5.9.1:5 USE="-doc {-test}" RUBY_TARGETS="ruby22 ruby23" 0 KiB [ebuild N ] dev-ruby/net-telnet-0.1.1-r1:1 USE="-doc {-test}" RUBY_TARGETS="ruby22 ruby23 (-ruby24) (-ruby25)" 0 KiB Total: 17 packages (17 new), Size of downloads: 0 KiB >>> Verifying ebuild manifests >>> Emerging (1 of 17) dev-libs/libyaml-0.1.7::gentoo >>> Installing (1 of 17) dev-libs/libyaml-0.1.7::gentoo >>> Emerging (2 of 17) dev-util/ragel-6.10::gentoo >>> Installing (2 of 17) dev-util/ragel-6.10::gentoo >>> Emerging (3 of 17) app-eselect/eselect-ruby-20170723::gentoo >>> Installing (3 of 17) app-eselect/eselect-ruby-20170723::gentoo >>> Emerging (4 of 17) dev-lang/ruby-2.3.6::gentoo >>> Installing (4 of 17) dev-lang/ruby-2.3.6::gentoo >>> Emerging (5 of 17) net-irc/epic5-1.1.10-r1::gentoo >>> Failed to emerge net-irc/epic5-1.1.10-r1, Log file:
Created attachment 523682 [details] config.log (xz)
Created attachment 523684 [details] epic5-1.1.10-r1:20180313-002553.log
Created attachment 523686 [details] emerge --info
(In reply to Kent Fredric (IRC: kent\n) from comment #0) > Firstly, this construct is a bit nuts: > > REQUIRED_USE="ruby? ( ^^ ( $(ruby_get_use_targets) ) ) > $(for t in $(ruby_get_use_targets); do echo "${t}? ( ruby )"; done)" > > > That means if any values of RUBY_TARGETS are set ... then USE="ruby" is > required. Furtermore, you cannot have more than one provider in RUBY_TARGETS, and that is hardly ever the case by default so this ebuild will block building for almost anyone and this is not easy to fix. > That aside, this looks like a possible issue in rubygems, so I'm CCing ruby@ > as well. rubygems is a PDEPEND for dev-lang/ruby, which causes this issue. Most ruby eclasses handle this by adding a dependency, but not ruby-ng (on purpose due to historic reasons).
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e61d05c9aecb3eee317fc1b12b3397f44d0ca91 commit 4e61d05c9aecb3eee317fc1b12b3397f44d0ca91 Author: Hans de Graaff <graaff@gentoo.org> AuthorDate: 2018-04-07 08:38:08 +0000 Commit: Hans de Graaff <graaff@gentoo.org> CommitDate: 2018-04-07 08:38:34 +0000 net-irc/epic5: fix ruby support, bug 650342 Switch to ruby-single.eclass. This fixes bug 650342 but also simplifies ruby dependency handling. Remove the REQUIRED_USE since this will always be a blocker for most people and simply build against the currently selected ruby version provided by ruby-single. This is in effect what the ebuild was doing before anyway. Include correct slot for ncurses. Use EAPI=6. Closes: https://bugs.gentoo.org/650342 Package-Manager: Portage-2.3.24, Repoman-2.3.6 net-irc/epic5/epic5-1.1.10-r2.ebuild | 77 ++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+)