Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 560048 - ruby related update block
Summary: ruby related update block
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-09 14:30 UTC by Jan Hrabe
Modified: 2015-09-14 18:41 UTC (History)
0 users

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 Jan Hrabe 2015-09-09 14:30:51 UTC
Since 9/8/2015, running emerge -uDNav --with-bdeps=y @world results in the following blocking errors:
[ebuild     U  ] sys-block/gparted-0.23.0::gentoo [0.22.0::gentoo] USE="policykit -btrfs -dmraid -f2fs -fat -hfs -jfs -kde -mdadm -ntfs -reiser4 -reiserfs -xfs" 2,212 KiB

Total: 36 packages (29 upgrades, 1 in new slot, 6 reinstalls), Size of downloads: 137,120 KiB
Conflict: 1 block

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-ruby/racc:0

  (dev-ruby/racc-1.4.11:0/0::gentoo, ebuild scheduled for merge) pulled in by
    dev-ruby/racc[ruby_targets_ruby21] required by (dev-ruby/rdoc-4.0.1-r2:0/0::gentoo, ebuild scheduled for merge)
                  
  (dev-ruby/racc-1.4.11:0/0::gentoo, installed) pulled in by
    dev-ruby/racc[ruby_targets_ruby19] required by (dev-ruby/rdoc-4.0.1-r2:0/0::gentoo, ebuild scheduled for merge)
                  
dev-ruby/json:0

  (dev-ruby/json-1.8.2-r1:0/0::gentoo, installed) pulled in by
    >=dev-ruby/json-1.4[ruby_targets_ruby19] required by (dev-ruby/rdoc-4.0.1-r2:0/0::gentoo, ebuild scheduled for merge)
                                                                             
    =dev-ruby/json-1*[ruby_targets_ruby19] required by (dev-ruby/rdoc-4.0.1-r2:0/0::gentoo, ebuild scheduled for merge)

  (dev-ruby/json-1.8.2-r1:0/0::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-ruby/json-1.8.1[ruby_targets_ruby21] required by (dev-lang/ruby-2.1.6-r1:2.1/2.1::gentoo, ebuild scheduled for merge)
                          
    >=dev-ruby/json-1.4[ruby_targets_ruby21] required by (dev-ruby/rdoc-4.0.1-r2:0/0::gentoo, ebuild scheduled for merge)
                                                                             
    =dev-ruby/json-1*[ruby_targets_ruby21] required by (dev-ruby/rdoc-4.0.1-r2:0/0::gentoo, ebuild scheduled for merge)

dev-ruby/rake:0

  (dev-ruby/rake-0.9.6-r1:0/0::gentoo, ebuild scheduled for merge) pulled in by
    dev-ruby/rake[ruby_targets_ruby21] required by (dev-ruby/json-1.8.2-r1:0/0::gentoo, ebuild scheduled for merge)
                  
    dev-ruby/rake[ruby_targets_ruby21] required by (dev-ruby/racc-1.4.11:0/0::gentoo, ebuild scheduled for merge)
                                                                     
    >=dev-ruby/rake-0.9.6[ruby_targets_ruby21] required by (dev-lang/ruby-2.1.6-r1:2.1/2.1::gentoo, ebuild scheduled for merge)

  (dev-ruby/rake-0.9.6-r1:0/0::gentoo, installed) pulled in by
    dev-ruby/rake[ruby_targets_ruby19] required by (dev-ruby/racc-1.4.11:0/0::gentoo, installed)
                  
    dev-ruby/rake[ruby_targets_ruby19] required by (dev-ruby/json-1.8.2-r1:0/0::gentoo, installed)
                  
virtual/rubygems:0

  (virtual/rubygems-10:0/0::gentoo, ebuild scheduled for merge) pulled in by
    virtual/rubygems[ruby_targets_ruby21] required by (dev-ruby/rake-0.9.6-r1:0/0::gentoo, ebuild scheduled for merge)
                                                                          
    =virtual/rubygems-10[ruby_targets_ruby21] required by (dev-lang/ruby-2.1.6-r1:2.1/2.1::gentoo, ebuild scheduled for merge)
                          
    virtual/rubygems[ruby_targets_ruby21] required by (dev-lang/ruby-2.1.6-r1:2.1/2.1::gentoo, ebuild scheduled for merge)
                                                                              
    =virtual/rubygems-10[ruby_targets_ruby21] required by (dev-ruby/json-1.8.2-r1:0/0::gentoo, ebuild scheduled for merge)
                                                                              
    =virtual/rubygems-10[ruby_targets_ruby21] required by (dev-ruby/rake-0.9.6-r1:0/0::gentoo, ebuild scheduled for merge)
                                                                              
    virtual/rubygems[ruby_targets_ruby21] required by (dev-ruby/rdoc-4.0.1-r2:0/0::gentoo, ebuild scheduled for merge)
                                                                          
    virtual/rubygems[ruby_targets_ruby21] required by (dev-ruby/json-1.8.2-r1:0/0::gentoo, ebuild scheduled for merge)
                                                                          
    =virtual/rubygems-10[ruby_targets_ruby21] required by (dev-ruby/rdoc-4.0.1-r2:0/0::gentoo, ebuild scheduled for merge)
                                                                              
    virtual/rubygems[ruby_targets_ruby21] required by (dev-ruby/racc-1.4.11:0/0::gentoo, ebuild scheduled for merge)
                                                                        
    =virtual/rubygems-10[ruby_targets_ruby21] required by (dev-ruby/racc-1.4.11:0/0::gentoo, ebuild scheduled for merge)

  (virtual/rubygems-10:0/0::gentoo, installed) pulled in by
    virtual/rubygems[ruby_targets_ruby19] required by (dev-lang/ruby-1.9.3_p551-r1:1.9/1.9::gentoo, installed)
                                                                  
    virtual/rubygems[ruby_targets_ruby19] required by (dev-ruby/json-1.8.2-r1:0/0::gentoo, installed)
                                                         
    virtual/rubygems[ruby_targets_ruby19] required by (dev-ruby/rdoc-4.0.1-r2:0/0::gentoo, ebuild scheduled for merge)
                                                                          
    virtual/rubygems[ruby_targets_ruby19] required by (dev-ruby/rake-0.9.6-r1:0/0::gentoo, installed)
                                                         
    virtual/rubygems[ruby_targets_ruby19] required by (dev-ruby/racc-1.4.11:0/0::gentoo, installed)
                     
===============

I followed the recent news recommendation to set ruby version to 2.0:

eselect ruby show
Current Ruby version:
  ruby20
Current Rubygems version:
  gem20

eselect ruby list
Available Ruby profiles:
  [1]   ruby19 (with Rubygems)
  [2]   ruby20 (with Rubygems) *

However, setting ruby to 1.9 does not make fix this.
Comment 1 Manuel Rüger (RETIRED) gentoo-dev 2015-09-09 14:42:27 UTC
Please attach the output of emerge --info.
Comment 2 Jan Hrabe 2015-09-09 16:08:53 UTC
The same problem happened on several machines with slightly different configurations but here is the output of emerge --info from one of them:

# emerge --info
Portage 2.2.20.1 (python 2.7.9-final-0, default/linux/amd64/13.0/desktop, gcc-4.8.5, glibc-2.20-r2, 4.0.5-gentoo x86_64)
=================================================================
System uname: Linux-4.0.5-gentoo-x86_64-Intel-R-_Core-TM-_i7-4790K_CPU_@_4.00GHz-with-gentoo-2.2
KiB Mem:    32640568 total,  11513268 free
KiB Swap:   67108860 total,  67108860 free
Timestamp of repository gentoo: Wed, 09 Sep 2015 14:00:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.24 p1.4) 2.24
ccache version 3.1.9 [disabled]
app-shells/bash:          4.3_p39::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.9-r1::gentoo, 3.4.1::gentoo
dev-util/ccache:          3.1.9-r4::gentoo
dev-util/cmake:           3.2.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.24-r3::gentoo
sys-devel/gcc:            4.8.5::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core-avx2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core-avx2 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs candy config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emacs emboss encode exif fam firefox flac foomaticdb fortran gcj gdbm gif glamor gpm gtk iconv imagemagick jpeg latex lcms libnotify lock mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nis nls nptl ogg opengl openmp pam pango pcre pdf pic png policykit ppds qt3support qt4 readline sasl sdl seccomp session spell sse sse2 ssl startup-notification svg tcpd thunar tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xcb xml xscreensaver xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en cs" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 3 Manuel Rüger (RETIRED) gentoo-dev 2015-09-09 17:01:04 UTC
Please check if dev-lang/ruby is somehow part of /var/lib/portage/world

Does it help if you uninstall ruby:1.9 first?
Comment 4 Jan Hrabe 2015-09-09 17:40:26 UTC
I don't use Ruby myself so it was not installed directly and is not listed in the world file.  It was pulled in by some other packages:

# equery depends ruby
 * These packages depend on ruby:
app-editors/vim-7.4.769 (ruby ? dev-lang/ruby:2.2)
                        (ruby ? dev-lang/ruby:2.1)
                        (ruby ? dev-lang/ruby:2.0)
app-text/docbook-xsl-stylesheets-1.78.0-r1 (ruby ? dev-lang/ruby:1.9)
                                           (ruby ? dev-lang/ruby:2.0)
dev-ruby/json-1.8.2-r1 (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
                       (ruby_targets_ruby20 ? dev-lang/ruby:2.0)
                       (ruby_targets_ruby21 ? dev-lang/ruby:2.1)
dev-ruby/racc-1.4.11 (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
                     (ruby_targets_ruby20 ? dev-lang/ruby:2.0)
                     (ruby_targets_ruby21 ? dev-lang/ruby:2.1)
dev-ruby/rake-0.9.6-r1 (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
                       (ruby_targets_ruby20 ? dev-lang/ruby:2.0)
                       (ruby_targets_ruby21 ? dev-lang/ruby:2.1)
dev-ruby/rdoc-4.0.1-r2 (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
                       (ruby_targets_ruby20 ? dev-lang/ruby:2.0)
                       (ruby_targets_ruby21 ? dev-lang/ruby:2.1)
dev-ruby/rubygems-2.2.5-r1 (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
                           (ruby_targets_ruby20 ? dev-lang/ruby:2.0)
                           (ruby_targets_ruby21 ? dev-lang/ruby:2.1)
media-gfx/graphviz-2.26.3-r4 (ruby ? dev-lang/ruby)
sys-block/thin-provisioning-tools-0.4.1 (test ? dev-lang/ruby:2.9)
                                        (test ? dev-lang/ruby:2.8)
                                        (test ? dev-lang/ruby:2.7)
                                        (test ? dev-lang/ruby:2.6)
                                        (test ? dev-lang/ruby:2.5)
                                        (test ? dev-lang/ruby:2.4)
                                        (test ? dev-lang/ruby:2.3)
                                        (test ? dev-lang/ruby:2.2)
                                        (test ? dev-lang/ruby:2.1)
                                        (test ? dev-lang/ruby:2.0)
                                        (test ? dev-lang/ruby:1.9)
                                        (test ? dev-lang/ruby:1.8)
virtual/rubygems-10 (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
                    (ruby_targets_ruby20 ? dev-lang/ruby:2.0)
                    (ruby_targets_ruby21 ? dev-lang/ruby:2.1)

=================

I then unmerged 1.9 as suggested:

emerge --unmerge  ruby-1.9.3_p551-r1
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 dev-lang/ruby
    selected: 1.9.3_p551-r1 
   protected: none 
     omitted: 2.0.0_p645 

The emerge @preserved-rebuild attempted afterwards did not complete, claiming that dev-ruby/racc-1.4.9 depends on ruby 1.9.  I then unmerged racc and commented out the ruby_targets_ruby19 use flags which used to be necessary for LaTeX:

# for LaTeX
app-text/texlive                   extra linguas_cs publishers science tex4ht
app-text/texlive-core              xetex
app-emacs/auctex                   preview-latex
media-libs/freetype                kpathsea
app-text/lcdf-typetools            kpathsea
# dev-ruby/rubygems                  ruby_targets_ruby19
# dev-ruby/rdoc                      ruby_targets_ruby19

Now I was able to successfully run emerge @preserved-rebuild, which pulled in ruby 2.1 and racc.

The world update now worked correctly with no further complains.  I hope this did not break anything in LaTeX.  

It's solved then but I still don't understand why the ruby19 slot did not work as designed, in quiet coexistence with ruby20.  Perhaps it could be mentioned in the news item that unmerging ruby19 may be necessary instead of just eselecting ruby20.

Thanks for prompt and useful help!
Comment 5 Hans de Graaff gentoo-dev Security 2015-09-14 18:41:27 UTC
(In reply to Jan Hrabe from comment #4)

> The emerge @preserved-rebuild attempted afterwards did not complete,
> claiming that dev-ruby/racc-1.4.9 depends on ruby 1.9.  I then unmerged racc
> and commented out the ruby_targets_ruby19 use flags which used to be
> necessary for LaTeX:

This was your problem. By adding these USE flags you are effectively requiring ruby19 support for these packages, and thus pulling in ruby:1.9, regardless of our default RUBY_TARGET setting.