On 29/01/2017 22:56, the...@sys-concept.com wrote:
> I haven't updated my system for over a year (1year and 3-months).
> I was trying to upgrade my firefox-bin and I'm already running into problems.
> 
> What is my best option, re-install from scratch, upgrade in stages etc.
> With firefox-bin I'm getting:



1 year 3 months isn't usually that bad and it can be done - I've done it
many times myself. However there are gotchas:

- there is no stock method and no stock answers. So asking
"I can't upgrade procps! What must I do?"
isn't going to get you much in the way of usable replies. Most will be
something like "I have no idea. Please be /way/ more specific"

- you need to understand what portage is telling you when it dumps a
crapload of output on the screen. If you can read through blockers and
figure out what to do, it's usually not that hard. It however tedious.

- you need to have a good grasp of what most packages do. So if you
think perhaps you need to unmerge binutils or python, your brain must
scream at you that it's a very very bad idea, and you need to know why
(reason: portage don't work for shit with those packages gone and  needs
them present to put them back. Hello chicken, greet egg)

- go slowly and deal with one block at a time. A regular emerge world
probably won't succeed so you gotta bite of small chunks

With those basics out the way, it's a great learning experience. I
recommend you do it at least once.

> 
> emerge -p firefox-bin
> 
> These are the packages that would be merged, in order:
> 
> Calculating dependencies... done!
> [ebuild  N     ] dev-libs/libuv-1.10.2  USE="-static-libs" 
> [ebuild  N     ] dev-util/ninja-1.6.0  USE="-doc -emacs {-test} -vim-syntax 
> -zsh-completion" 
> [ebuild     U  ] www-client/firefox-bin-45.6.0 [38.6.1] L10N="-ach% -af% -an% 
> -ar% -as% -ast% -az% -be% -bg% -bn-BD% -bn-IN% -br% -bs% -ca% -cs% -cy% -da% 
> -de% -el% -en-GB% -en-ZA% -eo% -es-AR% -es-CL% -es-ES% -es-MX% -et% -eu% -fa% 
> -fi% -fr% -fy% -ga% -gd% -gl% -gu% -he% -hi% -hr% -hsb% -hu% -hy% -id% -is% 
> -it% -ja% -kk% -km% -kn% -ko% -lt% -lv% -mai% -mk% -ml% -mr% -ms% -nb% -nl% 
> -nn% -or% -pa% -pl% -pt-BR% -pt-PT% -rm% -ro% -ru% -si% -sk% -sl% -son% -sq% 
> -sr% -sv% -ta% -te% -th% -tr% -uk% -uz% -vi% -xh% -zh-CN% -zh-TW%" 
> [ebuild     U  ] dev-java/java-config-2.2.0-r3 [2.2.0] USE="{-test%}" 
> PYTHON_TARGETS="(-python3_5)" 
> [uninstall     ] dev-java/java-config-wrapper-0.16 
> [blocks b      ] dev-java/java-config-wrapper ("dev-java/java-config-wrapper" 
> is blocking dev-java/java-config-2.2.0-r3)
> [ebuild  NS    ] sys-libs/db-5.3.28-r2 [4.8.30-r2] USE="cxx java -doc 
> -examples -tcl {-test}" 
> [ebuild     U  ] sys-libs/ncurses-6.0-r1 [5.9-r5] USE="{-test%} -threads%" 
> [ebuild  r  U  ] sys-process/procps-3.3.12 [3.3.10-r1] USE="kill%*" 
> [ebuild     U  ] dev-util/cmake-3.7.2 [3.3.1-r1]
> [ebuild  r  U  ] sys-devel/llvm-3.7.1-r3 [3.5.0] USE="-lldb%" 
> [ebuild  rR    ] app-editors/xemacs-21.4.24 


java-config-wrapper is long gone. Remove it and java-config will
probably succeed

> 
> !!! Multiple package instances within a single package slot have been pulled
> !!! into the dependency graph, resulting in a slot conflict:
> 
> sys-process/procps:0
> 
>   (sys-process/procps-3.3.12:0/5::gentoo, ebuild scheduled for merge) pulled 
> in by
>     (no parents that aren't satisfied by other packages in this slot)
> 
>   (sys-process/procps-3.3.10-r1:0/0::gentoo, installed) pulled in by
>     sys-process/procps:0/0= required by (dev-db/mariadb-10.0.22:0/18::gentoo, 
> installed)
>                       ^^^^^                                                   
>           

Update mariadb by itself to fix this. The version you have wants a
subslot of procps that no longer exists

> 
> sys-libs/ncurses:0
> 
>   (sys-libs/ncurses-6.0-r1:0/6::gentoo, ebuild scheduled for merge) pulled in 
> by
>     (no parents that aren't satisfied by other packages in this slot)
> 
>   (sys-libs/ncurses-5.9-r5:0/5::gentoo, installed) pulled in by
>     sys-libs/ncurses:0/5= required by 
> (dev-lang/ruby-2.0.0_p647-r1:2.0/2.0::gentoo, installed)
>                     ^^^^^                                                     
>                                                     
>     
> sys-libs/ncurses:0/5[ada?,cxx?,gpm?,static-libs?,tinfo?,unicode?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
>  required by (sys-libs/ncurses-5.9-r99:5/5::gentoo, installed)
>                     ^^^^                                                      
>                                                                               
>                                                                               
>                                                                               
>               
>     (and 15 more with the same problems)

see below about ruby-2.0

> 
> sys-devel/llvm:0
> 
>   (sys-devel/llvm-3.7.1-r3:0/3.7.1::gentoo, ebuild scheduled for merge) 
> pulled in by
>     (no parents that aren't satisfied by other packages in this slot)
> 
>   (sys-devel/llvm-3.5.0:0/3.5::gentoo, installed) pulled in by
>     >=sys-devel/llvm-3.4.2:0/3.5=[abi_x86_32(-)] required by 
> (media-libs/mesa-11.0.6:0/0::gentoo, installed)
>                           ^^^^^^^                                             
>                               

Don't worry about this one. It's a slot conflict - portage can't upgrade
llvm to the latest version because your existing mesa blocks it, so
portage "helpfully" dumps a crapload to ominous messages on the screen
to tell you this, and scare you out of your wits as well.

This will likely fix itself when mesa is upgraded

> 
> NOTE: Use the '--verbose-conflicts' option to display parents omitted above
> 
> It may be possible to solve this problem by using package.mask to
> prevent one of those packages from being selected. However, it is also
> possible that conflicting dependencies exist such that they are
> impossible to satisfy simultaneously.  If such a conflict exists in
> the dependencies of two different packages, then those packages can
> not be installed simultaneously. You may want to try a larger value of
> the --backtrack option, such as --backtrack=30, in order to see if
> that will solve this conflict automatically.
> 
> For more information, see MASKED PACKAGES section in the emerge man
> page or refer to the Gentoo Handbook.
> 
> 
> !!! The following installed packages are masked:
> - dev-lang/ruby-2.0.0_p647-r1::gentoo (masked by: package.mask)
> /usr/portage/profiles/package.mask:
> # Hans de Graaff <gra...@gentoo.org> (07 Dec 2016)
> # Mask ruby 2.0 for removal, bug 576034

Here's your real problem. ruby-2.0 is since ages past masked, and it
will block loads of stuff. Portage won't remove it (2.0 is SLOTted) but
a depclean might; howevr, world needs to be fully up to date before
depclean is prepared to take action.

There was a news item about this, so read it. eselect news list.

You need to pick a new default ruby - probably 2.1 - and let portage
deal with the result

> 
> - app-forensics/chkrootkit-0.49::gentoo (masked by: package.mask)
> /usr/portage/profiles/package.mask:
> # Aaron Bauman <b...@gentoo.org> (19 Mar 2016)
> # Unpatched security vulnerability per bug #512356.
> 
> For more information, see the MASKED PACKAGES section in the emerge
> man page or refer to the Gentoo Handbook.
> 
> 

Ignore this one initially. chkrootkit-0.49 is hardmasked. It will be
updated in due course.


When you've dealt with java-config-wrapper, mariadb and ruby, try emerge
world again. You will be presented with a whole new bunch of interesting
and fascinating problems to solve, all of which are unique and needs
their own approach. The approach depends of course on the nature of the
problem and you have to run emerge world to see what that is. Rinse,
repeat and keep doing it till portage is happy, your tree is synced and
no problems remain.

[You will probably need to deal with perl-cleaner, python-updater and
the ruby equivalent towards th end, this gets all your modules sync'ed
back up with your version of the interpreter.]

"Gentoo is not for the faint-hearted" is the quote I think most applies
here.

-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to