rubyのアップデート中、dev-ruby/bundlerのアップデートに失敗しました。
/etc/portage # emerge -u dev-ruby/bundler Calculating dependencies... done! >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-ruby/bundler-2.1.4::gentoo * bundler-2.1.4.gem BLAKE2B SHA512 size ;-) ... [ ok ] >>> Unpacking source... * Running unpack phase for all ... * Unpacking .gem file... ... [ ok ] * Uncompressing metadata ... [ ok ] * Unpacking data.tar.gz ... [ ok ] >>> Source unpacked in /var/tmp/portage/dev-ruby/bundler-2.1.4/work >>> Preparing source in /var/tmp/portage/dev-ruby/bundler-2.1.4/work ... * Running prepare phase for all ... * Running prepare phase for all ... * Running source copy phase for ruby25 ... * Running source copy phase for ruby26 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-ruby/bundler-2.1.4/work ... >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-ruby/bundler-2.1.4/work ... * Running compile phase for all ... Traceback (most recent call last): 2: from /usr/local/bin/rdoc:23:in `<main>' 1: from /usr/lib64/ruby/site_ruby/2.5.0/rubygems.rb:302:in `activate_bin_path' /usr/lib64/ruby/site_ruby/2.5.0/rubygems.rb:283:in `find_spec_for_exe': can't find gem rdoc (>= 0.a) with executable rdoc (Gem::GemNotFoundException) * ERROR: dev-ruby/bundler-2.1.4::gentoo failed (compile phase): * failed to (re)build documentation * * Call stack: * ebuild.sh, line 125: Called src_compile * environment, line 2041: Called ruby-ng_src_compile * environment, line 1681: Called _ruby_invoke_environment 'all' 'all_ruby_compile' * environment, line 615: Called all_ruby_compile * environment, line 699: Called all_fakegem_compile * environment, line 662: Called die * The specific snippet of code: * rdoc ${RUBY_FAKEGEM_DOC_SOURCES} || die "failed to (re)build documentation"; * * If you need support, post the output of `emerge --info '=dev-ruby/bundler-2.1.4::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-ruby/bundler-2.1.4::gentoo'`. * The complete build log is located at '/var/tmp/portage/dev-ruby/bundler-2.1.4/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-ruby/bundler-2.1.4/temp/environment'. * Working directory: '/var/tmp/portage/dev-ruby/bundler-2.1.4/work/all/bundler-2.1.4' * S: '/var/tmp/portage/dev-ruby/bundler-2.1.4/work/all/bundler-2.1.4' >>> Failed to emerge dev-ruby/bundler-2.1.4, Log file: >>> '/var/tmp/portage/dev-ruby/bundler-2.1.4/temp/build.log'
rdocが失敗しているようです。
で、「 `find_spec_for_exe': can't find gem rdoc (>= 0.a) with executable rdoc (Gem::GemNotFoundException)」は設定されているバージョンと実際の実行ファイルのバージョン違いで発生するそうです。
ebuildでそんなことあるかいな? と、思って、rdocの位置を疑いました。
# whereis rdoc rdoc: /usr/bin/rdoc /usr/local/bin/rdoc # which rdoc /usr/local/bin/rdoc
あらあら、/usr/local/binに入っているrdocを使おうとしていますわ。
よっこしてみましょう。
# mv /usr/local/bin/rdoc /usr/local/bin/rdoc.bak
これでアップデートできました。
この/usr/local/bin/rdocをリネームすることでどのような影響がでるかは未知数です。