On 11/01/2014 21:31, Alan Mackenzie wrote:
> Hello, Alan.
> 
> On Sat, Jan 11, 2014 at 07:16:20PM +0200, Alan McKinnon wrote:
>> On 11/01/2014 19:02, Alan Mackenzie wrote:
>>> Hi, Gentoo.
> 
>>> I finally got round to emerging my post-gnome system, triggered by the
>>> stabilisation of gnome-3, and the consequent shift to systemd, and what
>>> not.  I last synched my /usr/portage 34 days ago.  I had been putting
>>> this change off, it turns out, with good reason.
> 
>>> Now when I attempt to start xfce (which I'd been using fine for a long
>>> time) with "startx", it appears at first to be OK: the desktop is
>>> displayed on the screen and the mouse works.  However, after a few
>>> seconds of waiting, X crashes out, returning to the tty.  On a second
>>> attempt to start X (without rebooting), it doesn't get as far as
>>> displaying the desktop - it just crashes.
> 
>>> To eradicate gnome, I changed my profile from
>>> default/linux/amd64/13.0/desktop/gnome to
>>> default/linux/amd64/13.0/desktop, and removed the gnome USE flag from my
>>> /etc/make.conf (and maybe one or two other things I can't remember).  My
>>> box then spend 6 hours rebuilding software.
> 
>>> On the screen of the tty, after X crashes, appear the following error
>>> messages which might be relevant:
> 
>>>     xfce4-session: GNOME compatibility is enabled and gnome-keyring-daemon 
>>> is found on the system. Skipping gpg/ssh-agent startup.
>>>     env: kdeinit4: No such file or directory
>>>     Cannot find '.setLaunchEnv' in object /KLauncher at org.kde.klauncher
> 
>>>     (xfce4-session:3112): GLib-WARNING **: GChildWatchSource: Exit status 
>>> of a
>>>     child process was requested but ECHILD was received by waitpid(). Most 
>>> likely
>>>     the process is ignoring SIGCHLD, or some other thread is invoking 
>>> waitpid()
>>>     with a     nonpositive first argument; either behavior can break 
>>> applications
>>>     that use g_child_watch_add()/g_spawn_sync() either directly or 
>>> indirectly.
>>>     xfce4-panel: Restarting...
> 
>>>     (xfwm4:3125): libxfce4ui-WARNING **: ICE I/O Error
> 
>>>     (xfwm4:3125): libxfce4ui-WARNING **: Disconnected from session manager.
> 
>>>     (xfsettingsd:3136): libxfce4ui-WARNING **: ICE I/O Error
> 
>>>     (xfsettingsd:3136): libxfce4ui-WARNING **: Disconnected from session 
>>> manager.
>>>     /etc/xdg/xfce4/xinitrc: line 107:  3112 Segmentation fault      
>>> xfce4-session
> 
> 
>> This is the worrisome line.
> 
>> First, could you confirm if you did the full complete portage steps
>> while migrating:
> 
>> - tweak USE, profile etc etc
>     DONE
>> - emerge -avUND world
>     emerge -uND DONE.
> 
>> - emerge -av @preserved-rebuild
>     Not done.  When I do this with -p, I get wierdnesses.  emerge wants
>     to install cifs-utils and samba (why, I can't fathom) and says they
>     have mutual dependencies.  It also wants to update
>     gnome-control-center to gnome-3.
> 
>     Then it complains about (mainly) gnome stuff, alleging it should be
>     updated to gnome-3.8 versions.  Hmm.
> 
>> - emerge --depclean
>     Not done in a million years.  I do this with -p, then I see 289
>     packages need removing.  How important is this?  (or is my last post
>     the answer to this question?)
> 
>> - revdep-rebuild [seldom necessary these days, I usually do it out of
>> habit...]
>     I tried this, and it reported "everything up to date".
> 
>> Let's first establish if portage reckons the system is consistent before
>> trying to track down why your session segfaults


We should keep in mind that you are doing a rather substantial
migration, gnome-3 is in the works and you want to get rid of it. Best
approach is to really get rid of it, not just tell portage to not use it
anymore.

First, @preserved-rebuild:
You have packages built against other packages that have changed or been
removed, so portage needs to rebuild them to get everything consistent
again. This is important (however cifs-utils and samba is not relevant
to this thread)

@depclean:
You must remove old clutter after every emerge world. If you remove
"gnome" from USE, portage won't use that flag, but your gnome stuff
stays installed. Normally, portage only unmerges packages that cause
blocks, leaving you to do the real work with depclean.


I recommend you do these steps in this order

1. emerge -at --depclean
Inspect the list carefully, 289 packages is a lot. Take your time;
quickpkg anything you aren't sure of. When you are happy the list only
contains stuff you want rid of, let it do it's thing

2. emerge -avuND world
Let portage figure out what it needs to add and rebuild

3. emerge -av1 @preserved-rebuild
Fix up any inconsistencies left from emerging world


That should get you a consistent system. Now run xfce.

With luck, it will work as it should.
If not, we can then start the real debugging



-- 
Alan McKinnon
[email protected]


Reply via email to