View previous topic :: View next topic |
Author |
Message |
Crackerjackthe4th n00b
Joined: 20 Jun 2014 Posts: 28
|
Posted: Wed Dec 14, 2016 10:28 am Post subject: Having trouble getting rid of Ruby 2.0 [SOLVED] |
|
|
Main question is this:
--> How do I get rid of ruby20 manually? Or at the very least *safely force* Portage to do it without whining about dependencies?
Long story short, I can't figure out how to get rid of ruby20 due to circular dependencies and/or Portage related shenanigans, and it's preventing me from updating some important things here and there.
Jumping between the following commands trying to figure out what's going on, in no particular order anymore:
Code: | emerge @preserved-rebuild |
Code: | emerge -uavDN world |
Code: | emerge -av --depclean |
I'm at a loss. I've stalked the forums and FAQ and Wiki and seen a few topics and articles already, but nothing seems to be going my way. Portage is demanding I unmask Ruby:2.0 when I'm pretty convinced it's the very thing that's screwing me up somehow.
= = = = =
Here's the story in a bit more detail:
> Running periodic updates
> "You have new news items to read."
> Saw the news, ( eselect news on ruby20's deprecation )
> Of course, it's preventing me from updating....pretty much anything.
> Eventually figured out Ruby:2.0 was the package I needed to address, first thing I did was check and run:
Code: | eselect ruby set 21 |
as recommended, so I thought I'd be good to go.
And just for the record, I'm not sure exactly when it happened, but I added RUBY_TARGETS="ruby21" to make.conf, and it seemed to make things easier, though it didn't solve my problem.
Code: | emerge -uavDN world |
That worked for about half of the 95 or so packages I had, until it came to LESS, of all things which fails and spews out this log file in /var/tmp/portage/.....:
Code: | /usr/portage/distfi 100%[===================>] 196.18K 246KB/s in 0.8s
2016-12-14 01:50:00 (246 KB/s) - ‘/usr/portage/distfiles/code2color-0.2’ saved [200885/200885]
!!! Fetched file: code2color-0.2 VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got: 200885
!!! Expected: 200711
Refetching... File renamed to '/usr/portage/distfiles/code2color-0.2._checksum_failure_.WIU007'
!!! Couldn't download 'code2color-0.2'. Aborting.
* Fetch failed for 'sys-apps/less-481', Log file:
* '/var/tmp/portage/sys-apps/less-481/temp/build.log'
>>> Failed to emerge sys-apps/less-481, Log file:
>>> '/var/tmp/portage/sys-apps/less-481/temp/build.log'
* Messages for package app-emulation/xen-4.6.4-r3:
* To avoid automounting and auto(un)installing with /boot,
* just export the DONT_MOUNT_BOOT variable.
* Messages for package sys-apps/less-481:
* Fetch failed for 'sys-apps/less-481', Log file:
* '/var/tmp/portage/sys-apps/less-481/temp/build.log'
|
Okay, so now I need to worry about a checksum? Would like to know if I'm wrong on this, but I kinda figured that was a separate problem, so I moved back to Ruby.
Next thing I did:
Code: | equery depends ruby:2.0
* These packages depend on ruby:2.0: |
Nothing. Okay, so I'm assuming I'm clear to get rid of ruby20 as recommended here, right?
Code: | emerge -cav ruby:2.0
WARNING: One or more repositories have been ignored due to duplicate
profiles/repo_name entries:
/, gentoo, /var/lib/layman/gentoo overrides
/usr/portage
All profiles/repo_name entries must be unique in order to avoid having
duplicates ignored. Set PORTAGE_REPO_DUPLICATE_WARN="0" in
/etc/portage/make.conf if you would like to disable this warning.
Calculating dependencies... done!
dev-lang/ruby-2.0.0_p648 pulled in by:
dev-ruby/json-1.8.2-r1 requires dev-lang/ruby:2.0
dev-ruby/racc-1.4.11 requires dev-lang/ruby:2.0
dev-ruby/rake-0.9.6-r1 requires dev-lang/ruby:2.0
dev-ruby/rdoc-4.2.0 requires dev-lang/ruby:2.0
dev-ruby/rubygems-2.2.5-r1 requires dev-lang/ruby:2.0
virtual/rubygems-10 requires dev-lang/ruby:2.0
>>> No packages selected for removal by depclean |
^^^ ( Oh, side note, I'm not sure if that thing about Layman is the problem, since I've never had any problems before and haven't changed any config files, but might that be it? Or is it the repo duplicate thing? I'm reading into it now but it doesn't look like that stuff should be my problem.)
So as I run down the list spewing [ equery depends ___ ] and [ emerge -cav ___ ] for all those packages, but all those dependencies portage spews are, in turn, dependent on eachother, as well as Ruby 2.0 itself, so I can't seem to get rid of any of them.
Attempting to depclean all of those at ones yields the following:
Code: | emerge -cav json racc rake rdoc rubygems
Calculating dependencies... done!
dev-ruby/json-1.8.2-r1 pulled in by:
dev-lang/ruby-2.0.0_p648 requires >=dev-ruby/json-1.7.7[ruby_targets_ruby20]
dev-lang/ruby-2.1.9 requires >=dev-ruby/json-1.8.1[ruby_targets_ruby21]
dev-ruby/rdoc-4.2.0 requires >=dev-ruby/json-1.4[ruby_targets_ruby21], =dev-ruby/json-1*[ruby_targets_ruby20], =dev-ruby/json-1*[ruby_targets_ruby21], >=dev-ruby/json-1.4[ruby_targets_ruby20]
dev-ruby/racc-1.4.11 pulled in by:
dev-ruby/rdoc-4.2.0 requires dev-ruby/racc[ruby_targets_ruby20], dev-ruby/racc[ruby_targets_ruby21]
dev-ruby/rake-0.9.6-r1 pulled in by:
dev-lang/ruby-2.0.0_p648 requires >=dev-ruby/rake-0.9.6[ruby_targets_ruby20]
dev-lang/ruby-2.1.9 requires >=dev-ruby/rake-0.9.6[ruby_targets_ruby21]
dev-ruby/json-1.8.2-r1 requires dev-ruby/rake[ruby_targets_ruby21], dev-ruby/rake[ruby_targets_ruby20]
dev-ruby/racc-1.4.11 requires dev-ruby/rake[ruby_targets_ruby21], dev-ruby/rake[ruby_targets_ruby20]
dev-ruby/rdoc-4.2.0 pulled in by:
dev-lang/ruby-2.0.0_p648 requires >=dev-ruby/rdoc-4.0.0[ruby_targets_ruby20]
dev-lang/ruby-2.1.9 requires >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby21]
dev-ruby/rubygems-2.2.5-r1 pulled in by:
virtual/rubygems-10 requires >=dev-ruby/rubygems-2.0.2[ruby_targets_ruby20], >=dev-ruby/rubygems-2.0.14[ruby_targets_ruby21]
>>> No packages selected for removal by depclean |
"virtual/rubygems-10 is not a valid package atom," either.
Here's something else. [ emerge @preserved-rebuild ] only yielded this:
Code: | Calculating dependencies... done!
[ebuild R ] sys-process/htop-1.0.3
[ebuild R ] media-sound/alsa-utils-1.0.29
[ebuild R ] sys-apps/less-481
[ebuild U ] dev-qt/qtcore-5.6.2-r1 [5.6.1]
[ebuild R ] dev-libs/libxml2-2.9.4
[ebuild R ] dev-libs/boost-1.56.0-r1
[ebuild R ] dev-util/cmake-3.5.2-r1
[ebuild R ] media-libs/raptor-2.0.14
[ebuild R ] app-text/libmspub-0.1.2
[ebuild R ] app-text/libebook-0.1.2-r1
[ebuild R ] media-libs/libcdr-0.1.1
[ebuild R ] media-libs/libvisio-0.1.5
[ebuild R ] sys-devel/llvm-3.7.1-r3 VIDEO_CARDS="radeon*"
[ebuild R ] media-sound/jack-3.1.1-r1
[ebuild R #] dev-lang/ruby-2.0.0_p648
[ebuild R ] sys-devel/gettext-0.19.7
[ebuild R ] sys-process/psmisc-22.21-r3
[ebuild R ] sys-apps/texinfo-6.1
[ebuild R ] app-text/hunspell-1.3.3
[ebuild R ] app-editors/nano-2.5.3
[ebuild R ] dev-libs/libcdio-0.92
[ebuild R ] media-libs/imlib2-1.4.9
[ebuild R ] sys-libs/gpm-1.20.7-r2
[ebuild R ] app-misc/screen-4.3.1-r1
[ebuild U ] www-client/w3m-0.5.3-r9 [0.5.3-r5] USE="(-libressl)"
[ebuild R ] app-text/aspell-0.60.6.1-r1
[ebuild R ] x11-terms/xterm-325
[ebuild R ] media-libs/harfbuzz-1.3.1
[ebuild R ] x11-libs/vte-0.28.2-r207
[ebuild U ] app-crypt/pinentry-0.9.7-r1 [0.9.5] USE="-qt5%"
[ebuild R ] dev-qt/qtwebkit-4.8.6-r1
[ebuild R ] app-benchmarks/i7z-0.27.2
[ebuild R ] net-fs/samba-4.2.11
[ebuild R ] app-editors/emacs-24.5-r3
[ebuild R ] x11-libs/vte-0.36.5
[ebuild R ] sys-apps/util-linux-2.26.2
[ebuild R ] sys-apps/gptfdisk-1.0.1
[ebuild R ] sys-block/parted-3.2
[ebuild R ] media-video/ffmpeg-2.8.6
[ebuild R ] dev-libs/efl-1.17.0
[ebuild R ] media-video/vlc-2.2.4 [2.2.4]
[ebuild R ] net-libs/webkit-gtk-2.4.11-r200
The following mask changes are necessary to proceed:
(see "package.unmask" in the portage(5) man page for more details)
# required by @preserved-rebuild (argument)
# /var/lib/layman/gentoo/profiles/package.mask:
# Hans de Graaff <graaff@gentoo.org> (07 Dec 2016)
# Mask ruby 2.0 for removal, bug 576034
=dev-lang/ruby-2.0.0_p648
NOTE: The --autounmask-keep-masks option will prevent emerge
from creating package.unmask or ** keyword changes.
Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or or keyword changes that may expose
experimental or unstable packages. |
So Portage is now demanding I make way for Ruby20 again, which, is probably not something I wanna do.
Things get a little hazy after this point, since this is where I ended up with 30+ tabs of research on Chromium, but here's something else that may provide insight?
Invoking...
Code: | emerge -av --depclean |
...just returns this:
Code: | * Have you forgotten to do a complete update prior to depclean? The
* most comprehensive command for this purpose is as follows:
*
* emerge --update --newuse --deep --with-bdeps=y @world
*
* Note that the --with-bdeps=y option is not required in many
* situations. Refer to the emerge manual page (run `man emerge`)
* for more information about --with-bdeps.
*
* Also, note that it may be necessary to manually uninstall
* packages that no longer exist in the portage tree, since it may
* not be possible to satisfy their dependencies.
|
^^^ ( Another side note, yes, I tried that same thing with bdeps=y. Got me the same thing a -uavDN would. )
I'm at a complete loss, so just to recap, my questions:
--> How the dick do I get rid of Ruby20?
--> ^^^ Regarding the miscellaneous notices about config files, (and the checksum for sys-apps/less) ARE those separate issues or did I let something slip past me? I don't really consider myself too n00b-ish but there are suddenly a lot of things going on I've never seen before.
--> Is it safe to run [ emerge --unmerge ] on Ruby? I'm about 90% certain, but I'd rather not complicate things any more than I already have.
--> Did I just miss something incredibly obvious? I don't think I've ever had this much trouble dealing with Portage.
Last edited by Crackerjackthe4th on Sun Dec 18, 2016 2:29 am; edited 1 time in total |
|
Back to top |
|
|
Wallsandfences Guru
Joined: 29 Mar 2010 Posts: 378
|
Posted: Wed Dec 14, 2016 11:28 am Post subject: |
|
|
I have exacltly the same problem and no answers.... |
|
Back to top |
|
|
sebB l33t
Joined: 02 Mar 2011 Posts: 806 Location: S.O. France
|
Posted: Wed Dec 14, 2016 12:32 pm Post subject: |
|
|
Quote: | /usr/portage/distfi 100%[===================>] 196.18K 246KB/s in 0.8s
2016-12-14 01:50:00 (246 KB/s) - ‘/usr/portage/distfiles/code2color-0.2’ saved [200885/200885]
!!! Fetched file: code2color-0.2 VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got: 200885
!!! Expected: 200711
Refetching... File renamed to '/usr/portage/distfiles/code2color-0.2._checksum_failure_.WIU007'
!!! Couldn't download 'code2color-0.2'. Aborting.
* Fetch failed for 'sys-apps/less-481', Log file:
* '/var/tmp/portage/sys-apps/less-481/temp/build.log' |
Have you try re-syncing your tree before running emerge -uavDN world ? |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22404
|
Posted: Thu Dec 15, 2016 3:29 am Post subject: |
|
|
The fastest way to remove Ruby would be to use emerge --unmerge on it, as you suspected. That has no safety check, but for typical environments, I would expect that the system should be usable without Ruby, if removing it even breaks anything at all. If you are concerned, you could use quickpkg to capture the currently installed Ruby, which would make it easier to reinstall quickly if something critical breaks badly.
The checksum is a separate issue.
Your post does not quote any messages about the configuration file message I would expect (unresolved updates to files in CONFIG_PROTECT areas), but that should also be unrelated. However, addressing any unmerged configuration files may help you avoid other problems, so I would prioritize that over trying to solve your Ruby issue. |
|
Back to top |
|
|
tld Veteran
Joined: 09 Dec 2003 Posts: 1836
|
Posted: Thu Dec 15, 2016 5:50 pm Post subject: |
|
|
I know for sure that ruby is a totally inexcusable requirement for dev-qt/qtwebkit 5, however it appears you only have that installed for qt4(?). Don't even get me started on that mess. I can't find the threads on this, but apparently that's some bizarre compile time only requirement of qtwebkit that the devs are too lazy to correct. I'm stuck with that on my MythTV systems for that reason. |
|
Back to top |
|
|
davidbrooke Guru
Joined: 03 Jan 2015 Posts: 341
|
Posted: Sat Dec 17, 2016 5:57 am Post subject: |
|
|
Hu wrote: | The fastest way to remove Ruby would be to use emerge --unmerge on it, as you suspected. That has no safety check, but for typical environments, I would expect that the system should be usable without Ruby, if removing it even breaks anything at all. If you are concerned, you could use quickpkg to capture the currently installed Ruby, which would make it easier to reinstall quickly if something critical breaks badly.
The checksum is a separate issue.
Your post does not quote any messages about the configuration file message I would expect (unresolved updates to files in CONFIG_PROTECT areas), but that should also be unrelated. However, addressing any unmerged configuration files may help you avoid other problems, so I would prioritize that over trying to solve your Ruby issue. |
I followed your suggestion and it worked fine. |
|
Back to top |
|
|
dataking Apprentice
Joined: 20 Apr 2005 Posts: 251
|
Posted: Sat Dec 17, 2016 6:52 am Post subject: |
|
|
davidbrooke wrote: | Hu wrote: | The fastest way to remove Ruby would be to use emerge --unmerge on it, as you suspected. That has no safety check, but for typical environments, I would expect that the system should be usable without Ruby, if removing it even breaks anything at all. If you are concerned, you could use quickpkg to capture the currently installed Ruby, which would make it easier to reinstall quickly if something critical breaks badly.
The checksum is a separate issue.
Your post does not quote any messages about the configuration file message I would expect (unresolved updates to files in CONFIG_PROTECT areas), but that should also be unrelated. However, addressing any unmerged configuration files may help you avoid other problems, so I would prioritize that over trying to solve your Ruby issue. |
I followed your suggestion and it worked fine. | Removing ruby shouldn't break anything in the base system. It looks like if you need/want ruby for your own purposes, you might be better off installing it with RVM or something. I do a lot of automation projects in ruby, so I need it around, and the way portage handles it, seems to be less that ideal. Integral gems and dependencies aren't synced, racc might want ruby21 while rake is ok with ruby23*. It'a kind of a mess.
(* These are not actual version requirements, just examples used for the sake of making the argument.) _________________ -= the D@7@k|n& =- |
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Sat Dec 17, 2016 8:23 am Post subject: Re: Having trouble getting rid of Ruby 2.0 |
|
|
Crackerjackthe4th wrote: | How do I get rid of ruby20 manually? Or at the very least *safely force* Portage to do it without whining about dependencies? |
Crackerjackthe4th ... perhaps the I examples I provide in this post will help in that regard, it fixed it for that particular user.
best ... khay |
|
Back to top |
|
|
Aiken Apprentice
Joined: 22 Jan 2003 Posts: 239 Location: Toowoomba/Australia
|
Posted: Sat Dec 17, 2016 12:31 pm Post subject: |
|
|
tld wrote: | I know for sure that ruby is a totally inexcusable requirement for dev-qt/qtwebkit 5, however it appears you only have that installed for qt4(?). Don't even get me started on that mess. I can't find the threads on this, but apparently that's some bizarre compile time only requirement of qtwebkit that the devs are too lazy to correct. I'm stuck with that on my MythTV systems for that reason. |
Thought I had read somewhere that ruby was only for compile time. I have 6 machines that are binary only. They will not attempt to compile anything themselves. Doing a binary only install from my build server all 6 have ruby installed pulled in by qtwebkit 5. _________________ Beware the grue. |
|
Back to top |
|
|
Crackerjackthe4th n00b
Joined: 20 Jun 2014 Posts: 28
|
Posted: Sun Dec 18, 2016 2:28 am Post subject: |
|
|
OP here.
Sorry for the late response-- had a LOOOT of cleaning up to do over the last few days, and I've been out a web browser during more or less the entire ordeal.
Anyway, I'm gonna mark this as [solved] after a quick "Captain's Log," for all who might be curious.
= = = = = = = = = =
First, some quick responses:
Wallsandfences wrote: | I have exacltly the same problem and no answers.... |
Hopefully my solution can help. (You also might wanna read my response to Hu, just in case that helps.)
After running Code: | emerge --unmerge ruby:2.0 |
as Hu confirmed, I found that I somehow had a slot conflict between virtual/rubygems and dev-ruby/rubygems. Not sure exactly how that works, but I ended up having to [ --unmerge ] it by its full package name, like so:
Code: | emerge --unmerge =virtual/rubygems-10::gentoo |
After this, I could more or less run -uavDN @world without any problems.
................That actually did fail, but since it was due to a completely unrelated problem, I won't go into detail here. Long story short, after manually removing ruby20 and rubygems, everything ruby-related emerged as expected.
sebB wrote: | Have you try re-syncing your tree before running emerge -uavDN world? |
Forgot to elaborate, but yes, that was the first thing I did to kick this whole mess off.
Hu wrote: | The fastest way to remove Ruby would be to use emerge --unmerge on it, as you suspected. That has no safety check, but for typical environments, I would expect that the system should be usable without Ruby, if removing it even breaks anything at all. If you are concerned, you could use quickpkg to capture the currently installed Ruby, which would make it easier to reinstall quickly if something critical breaks badly. |
Thanks; I actually did that the night you posted, which made it easier to get everything else going. Details below, as this post goes on, but luckily, I didn't end up needing quickpkg. Sounds useful, though, so I'll have to make a note of that.
Also took your other advice and ran etc-update until everything was strayed away.
The checksum ended up being a problem because the mirror I configured Portage to use was no longer even up.
The mirror in question was ucsb, so to whom it may concern, I solved this (entirely unrelated) issue by simply emerging mirrorselect, running [ mirrorselect -i ] and finding a new mirror. Also fixed the problem for a few other packages.
tld wrote: | I know for sure that ruby is a totally inexcusable requirement for dev-qt/qtwebkit 5, however it appears you only have that installed for qt4(?). Don't even get me started on that mess. I can't find the threads on this, but apparently that's some bizarre compile time only requirement of qtwebkit that the devs are too lazy to correct. I'm stuck with that on my MythTV systems for that reason. |
That does sound pretty dumb. : /
But yeah, looks like I'm rocking qt4. (didn't even know qt5 was a thing yet. Or maybe I've really just been outta the loop for that long...?) It was a dependency for....I'm about 90% sure Steam and Chromium both depend on it, so I'm stuck with it, too. Luckily it doesn't bother me that much, and Ruby20 is now off my system, so hey.
khayyam wrote: | Crackerjackthe4th ... perhaps the I examples I provide in this post will help in that regard, it fixed it for that particular user. |
Thanks, Khay. You're always a big help.
Ended up fixing my problem, but I'll read through that thread again and takes notes to make sure I have a simpler solution the next time something like this happens.
Best wishes.
= = = = = = = = = =
Enough of that, here's how I solved my problem.
Well...my Ruby problem, anyway.
Because Ruby:2.0 had a few circular dependencies between itself and stuff like rdoc, racc, etc.....I had to *force* Portage to get rid of it before I could move on.
Basically, I just ran this real quick:
Code: | emerge --unmerge ruby:2.0 racc rdoc rubygems rake json |
And voila: the majority of my ruby woes are gone.
Next I defined a preferred ruby version in /etc/portage/make.conf, just in case.
Code: | RUBY_TARGETS="ruby21" |
I'd actually done this early on in my troubleshooting process, but it helped me then, and hopefully it'll help whoever else has this problem.
After the --unmerge, running [emerge -uavDN @world ] or [emerge @preserved-rebuild ] still yielded failures due to a slot conflict involving rubygems.
"What gives?" you ask. "I thought you already unmerged it?"
Turns out there's a second package called rubygems. If you check my first post, you'll notice both a 'virtual/rubygems-10' and a 'dev-ruby/rubygems.' SOmehow, Portage thinks these two things should occupy the same slot.
But fear not: All you have to do is specify by full package name. In my case, it was:
Code: | emerge --unmerge =virtual/rubygems-10::gentoo |
^^^ Note the equal sign there. I guess that's how you specify a package version?
After that, I ran [emerge @preserved-rebuild ] followed by the [ emerge -uavDN @world ] I'd been trying to run all week.
IN MY CASE I needed to add the [ --keep-going ] and/or [ --exclude='packages listed here' ] options as-needed since several packages continually failed to compile, but that's due to unrelated problems. (I made the mistake of not updating for......far too long. Which is something generally advised against because it complicates troubleshooting by stacking otherwise simple problems----in my case, anyway.)
Unrelated problems, in case it helps:
--> The mirror I'd selected during installation (almost a year ago) was no longer active. I emerged mirrorselect and chose a new one.
side note: If you're downloading from the UC Santa Barbara repo, pick a new one. Attempting to download anything from there led to 404's and checksum problems, but after switching, almost nothing went wrong for me.
--> I have yet to figure out why, but certain packages won't successfully compile. (Chromium is the most obnoxious culprit) I have zero reason to believe this relates to Ruby, so I'll address all that in a separate topic.
Otherwise, Ruby 2.0 is gone, so I'm marking this as solved.
Thanks for the help, guys. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|