Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 688340 - dev-lang/ruby-2.5.5 - /usr/lib64/ruby/site_ruby/2.5.0/rubygems/defaults/operating_system.rb:47:in `singleton class': [1mundefined method `operating_system_defaults' for class `Gem' ([1;4mNameError[m[1m)
Summary: dev-lang/ruby-2.5.5 - /usr/lib64/ruby/site_ruby/2.5.0/rubygems/defaults/opera...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-19 00:37 UTC by Robert
Modified: 2019-07-01 15:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert 2019-06-19 00:37:13 UTC
all of the standard info can be found here:

make.conf paste https://bpaste.net/show/9219aa8d9efc 

emerge --info https://bpaste.net/show/1db8f1aab075

emerge -a =dev-lang/ruby-2.5.5 https://bpaste.net/show/7ce544556c5f 

emerge -pqv =dev-lang/ruby-2.5.5 https://bpaste.net/show/eb75f537e103

the relavent portion I believe can be found in this section 

	-- configure gems/test-unit-3.2.7
make[1]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'
./miniruby -I./lib -I. -I.ext/common  ./tool/generic_erb.rb -o exts.mk -c \
    ./template/exts.mk.tmpl --gnumake=yes
exts.mk [31;1mupdated[m
make -f exts.mk  libdir="/usr/lib64" LIBRUBY_EXTS=./.libruby-with-ext.time \
    EXTENCS="dmyenc.o" UPDATE_LIBRARIES=no 
make[1]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'
make -C ext/racc/cparse V=1 all
make -C ext/openssl V=1 all
make -C ext/continuation V=1 all
make -C ext/cgi/escape V=1 all
make -C ext/readline V=1 all
make -C ext/gdbm V=1 all
make -C ext/pty V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/openssl'
make -C ext/psych V=1 all
make -C ext/strscan V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/pty'
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/openssl'
make -C ext/sdbm V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/psych'
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/pty'
make -C ext/coverage V=1 all
make -C ext/objspace V=1 all
make -C ext/nkf V=1 all
make -C ext/etc V=1 all
make -C ext/rubyvm V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/nkf'
make -C ext/-test-/array/resize V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/rubyvm'
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/nkf'
make -C ext/-test-/bignum V=1 all
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/rubyvm'
make -C ext/-test-/bug-3571 V=1 all
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/psych'
make -C ext/-test-/bug-5832 V=1 all
make -C ext/-test-/bug_reporter V=1 all
make -C ext/-test-/class V=1 all
make -C ext/-test-/debug V=1 all
make -C ext/-test-/dln/empty V=1 all
make -C ext/-test-/exception V=1 all
make -C ext/-test-/fatal V=1 all
make -C ext/-test-/file V=1 all
make -C ext/-test-/float V=1 all
make -C ext/-test-/funcall V=1 all
make -C ext/-test-/gvl/call_without_gvl V=1 all
make -C ext/-test-/hash V=1 all
make -C ext/-test-/integer V=1 all
make -C ext/-test-/iseq_load V=1 all
make -C ext/-test-/iter V=1 all
make -C ext/-test-/load/dot.dot V=1 all
make -C ext/-test-/load/protect V=1 all
make -C ext/-test-/marshal/compat V=1 all
make -C ext/-test-/marshal/internal_ivar V=1 all
make -C ext/-test-/marshal/usr V=1 all
make -C ext/-test-/memory_status V=1 all
make -C ext/-test-/method V=1 all
make -C ext/-test-/notimplement V=1 all
make -C ext/-test-/num2int V=1 all
make -C ext/-test-/path_to_class V=1 all
make -C ext/-test-/popen_deadlock V=1 all
make -C ext/-test-/postponed_job V=1 all
make -C ext/-test-/printf V=1 all
make -C ext/-test-/proc V=1 all
make -C ext/-test-/rational V=1 all
make -C ext/-test-/recursion V=1 all
make -C ext/-test-/regexp V=1 all
make -C ext/-test-/scan_args V=1 all
make -C ext/-test-/st/foreach V=1 all
make -C ext/-test-/st/numhash V=1 all
make -C ext/-test-/st/update V=1 all
make -C ext/-test-/string V=1 all
make -C ext/-test-/struct V=1 all
make -C ext/-test-/symbol V=1 all
make -C ext/-test-/thread_fd_close V=1 all
make -C ext/-test-/time V=1 all
make -C ext/-test-/tracepoint V=1 all
make -C ext/-test-/typeddata V=1 all
make -C ext/-test-/vm V=1 all
make -C ext/-test-/wait_for_single_fd V=1 all
make -C ext/-test-/win32/console V=1 all
make -C ext/-test-/win32/dln V=1 all
make -C ext/-test-/win32/fd_setsize V=1 all
make -C ext/syslog V=1 all
make -C ext/zlib V=1 all
make -C ext/dbm V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/syslog'
make -C ext/bigdecimal V=1 all
make -C ext/fiber V=1 all
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/syslog'
make -C ext/fiddle V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/bigdecimal'
make -C ext/win32 V=1 all
make -C ext/win32/resolv V=1 all
make -C ext/ripper V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/fiddle'
make -C ext/io/console V=1 all
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/bigdecimal'
make -C ext/io/nonblock V=1 all
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/fiddle'
make -C ext/io/wait V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/io/console'
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/ripper'
make -C ext/win32ole V=1 all
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/io/console'
make -C ext/fcntl V=1 all
make -C ext/socket V=1 all
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/ripper'
make -C ext/date V=1 all
make -C ext/digest V=1 all
make -C ext/digest/bubblebabble V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/socket'
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/date'
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/digest'
make -C ext/digest/md5 V=1 all
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/socket'
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/date'
make -C ext/digest/rmd160 V=1 all
make -C ext/digest/sha1 V=1 all
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/digest'
make -C ext/digest/sha2 V=1 all
make -C ext/rbconfig/sizeof V=1 all
make -C ext/stringio V=1 all
make -C ext/pathname V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/digest/sha2'
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/digest/sha2'
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/pathname'
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/ext/pathname'
make DLDOBJS="dmyext.o dmyenc.o" EXTOBJS= EXTSOLIBS="" LIBRUBY_SO_UPDATE=./.libruby-with-ext.time EXTLDFLAGS="" EXTINITS="" UPDATE_LIBRARIES="no" SHOWFLAGS= ruby25
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'
make[2]: 'ruby25' is up to date.
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'
make[1]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'
make -f exts.mk  RUBY="./miniruby -I./lib -I. -I.ext/common " top_srcdir="." note
make[1]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'
[33;1m*** Following extensions are not compiled:[m
[31;1mwin32:[m
	Could not be configured. It will not be installed.
	Check ext/win32/mkmf.log for more details.
[31;1mwin32/resolv:[m
	Skipped because its parent was not configured.
[31;1mwin32ole:[m
	Could not be configured. It will not be installed.
	Check ext/win32ole/mkmf.log for more details.
[33;1m*** Fix the problems, then remove these directories and try again if you want.[m
make[1]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'
./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -r./x86_64-linux-fake ./tool/rbinstall.rb --make="make" --dest-dir="/var/tmp/portage/dev-lang/ruby-2.5.5/image" --extout=".ext" --mflags="-j4 --jobserver-auth=4,5" --make-flags=" -j4 --jobserver-auth=4,5 -- DESTDIR=/var/tmp/portage/dev-lang/ruby-2.5.5/image V=1" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc"
[1mTraceback[m (most recent call last):
	6: from ./tool/rbinstall.rb:24:in `<main>'
	5: from ./tool/rbinstall.rb:24:in `require'
	4: from /var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/lib/rubygems.rb:1383:in `<top (required)>'
	3: from /var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5/lib/rubygems.rb:1383:in `require'
	2: from /usr/lib64/ruby/site_ruby/2.5.0/rubygems/defaults/operating_system.rb:16:in `<top (required)>'
	1: from /usr/lib64/ruby/site_ruby/2.5.0/rubygems/defaults/operating_system.rb:18:in `<module:Gem>'
/usr/lib64/ruby/site_ruby/2.5.0/rubygems/defaults/operating_system.rb:47:in `singleton class': [1mundefined method `operating_system_defaults' for class `Gem' ([1;4mNameError[m[1m)
[mmake: *** [uncommon.mk:317: do-install-nodoc] Error 1
 * ERROR: dev-lang/ruby-2.5.5::gentoo failed (install phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/ruby-2.5.5::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/ruby-2.5.5::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-lang/ruby-2.5.5/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/ruby-2.5.5/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'
 * S: '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'

>>> Failed to emerge dev-lang/ruby-2.5.5, Log file:

>>>  '/var/tmp/portage/dev-lang/ruby-2.5.5/temp/build.log'
 * Messages for package dev-lang/ruby-2.5.5:
 * ERROR: dev-lang/ruby-2.5.5::gentoo failed (install phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/ruby-2.5.5::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/ruby-2.5.5::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-lang/ruby-2.5.5/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/ruby-2.5.5/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'
 * S: '/var/tmp/portage/dev-lang/ruby-2.5.5/work/ruby-2.5.5'


but feel free to look through the entire output, ruby 2.4.* and 2.6.1 compile just fine with the same USE flags, so I don't know what the issue is with this version and 2.5.5, is the only 2.5.* version available even in the unstable branches.
Comment 1 Robert 2019-06-19 00:38:09 UTC
i marked it major only because it is preventing me from completing the installation of kde, for some reason one of the packages needs ruby:2.5 to be rebuild
Comment 2 Hans de Graaff gentoo-dev Security 2019-06-19 05:01:08 UTC
Which version of dev-ruby/rubygems do you have installed?

If 3.0.4, does it help to downgrade to 3.0.3?
Comment 3 Hans de Graaff gentoo-dev Security 2019-06-19 05:07:38 UTC
I can reproduce this and downgrading to rubygems 3.0.3 should work around this issue.
Comment 4 Robert 2019-06-19 16:42:04 UTC
I am the original poster of this bug and can confirm that masking >dev-ruby/rubygems-3.0.3 at this point temporarily solves the problem, but I admit that 3.0.4 isn't claimed to be stable at this point :)
Comment 5 Robert 2019-06-20 21:14:00 UTC
As I said before guys, its been a while since I interacted with bugs.gentoo.org so should this be left as just 'CONFIRMED' instead of 'RESOLVED' because the problem isn't technically resolved, there just exists a technical workaround with it?

Sorry for the chit-chat talk in a bug thread, there is probably a better place to ask these questions but I am just not informed as to where that would be right now.

thanks
Comment 6 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2019-06-21 15:19:51 UTC
ruby team:
this is also causing ruby-2.4.6 to fail to build for me; I'm going to try the rubygems downgrade as a workaround.

make[2]: Leaving directory '/var/tmp/portage-tmpfs/portage/dev-lang/ruby-2.4.6/work/ruby-2.4.6'
make[1]: Leaving directory '/var/tmp/portage-tmpfs/portage/dev-lang/ruby-2.4.6/work/ruby-2.4.6'
Generating RDoc documentation
./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems "./bin/rdoc" --root "." --page-dir "./doc" --encoding=UTF-8 --no-force-update --all --ri --op ".ext/rdoc" --debug  "."
/usr/lib64/ruby/site_ruby/2.4.0/rubygems/defaults/operating_system.rb:47:in `singleton class': undefined method `operating_system_defaults' for class `Gem' (NameError)
        from /usr/lib64/ruby/site_ruby/2.4.0/rubygems/defaults/operating_system.rb:18:in `<module:Gem>'
        from /usr/lib64/ruby/site_ruby/2.4.0/rubygems/defaults/operating_system.rb:16:in `<top (required)>'
        from /var/tmp/portage-tmpfs/portage/dev-lang/ruby-2.4.6/work/ruby-2.4.6/lib/rubygems.rb:1347:in `require'
        from /var/tmp/portage-tmpfs/portage/dev-lang/ruby-2.4.6/work/ruby-2.4.6/lib/rubygems.rb:1347:in `<top (required)>'
        from /var/tmp/portage-tmpfs/portage/dev-lang/ruby-2.4.6/work/ruby-2.4.6/lib/rdoc/rdoc.rb:548:in `require'
        from /var/tmp/portage-tmpfs/portage/dev-lang/ruby-2.4.6/work/ruby-2.4.6/lib/rdoc/rdoc.rb:548:in `<top (required)>'
        from ./bin/rdoc:16:in `require'
        from ./bin/rdoc:16:in `<main>'
make: *** [uncommon.mk:459: rdoc] Error 1
 * ERROR: dev-lang/ruby-2.4.6::gentoo failed (compile phase):
 *   emake failed
 *
Comment 7 Larry the Git Cow gentoo-dev 2019-06-30 08:46:45 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21b6f7a6b0f447e550cc50d44ea05137a49d00df

commit 21b6f7a6b0f447e550cc50d44ea05137a49d00df
Author:     Hans de Graaff <graaff@gentoo.org>
AuthorDate: 2019-06-30 08:46:17 +0000
Commit:     Hans de Graaff <graaff@gentoo.org>
CommitDate: 2019-06-30 08:46:38 +0000

    dev-ruby/rubygems: fix rubygems gentoo defaults
    
    Take into account that ruby 2.4 and ruby 2.5 have rubygems 2.7 bundled.
    
    Fixes: https://bugs.gentoo.org/688340
    Signed-off-by: Hans de Graaff <graaff@gentoo.org>
    Package-Manager: Portage-2.3.66, Repoman-2.3.11

 dev-ruby/rubygems/files/gentoo-defaults-3.rb       |   8 +-
 dev-ruby/rubygems/rubygems-3.0.3-r1.ebuild         | 120 ---------------------
 ...ygems-3.0.4.ebuild => rubygems-3.0.4-r1.ebuild} |   0
 3 files changed, 7 insertions(+), 121 deletions(-)
Comment 8 Brian McKee 2019-07-01 15:30:20 UTC
If anyone finds themselves with rubygems-3.0.4 installed and unable to compile ruby because of it, emerge -C rubygems, then emerge ruby and the system will return to usable.