I haven't updated in a while and so I decided to do that today. I was using this in trying to resolve the error it describes. I installed the glibc listed there, removed portaudio_cpp, gdm, and pavucontrol, which were interfering with the --ignore glibc update (thinking to reinstall them afterwards) and successfully ran pacman -Syu --ignore glibc. When I went to perform the next step (pacman -Su), I discovered that any command I run with sudo segfaults. Emacs gives the error "emacs: error while loading shared libraries: libtiff.so.3: cannot open shared object file: No such file or directory." I wanted to come ask for advice and make sure my understanding of what was going on was at least somewhat accurate before proceeding blindly.
So as I understand it, ultimately /lib needs to end up as a symlink to /usr/lib.
Pacman believes I currently have glibc 14 installed, something now wants 15 (including sudo pacman, so i can't get it) and the glibc 16 I installed manulaly is awol.
I am writing this on the system that is having the issue (firefox is still running. not sure if it would segfault if i were restarting it), and so am not quite in the place that the two how-to-recover-from-system-borking linked threads are.
/var/log/pacman contains these lines:
sh: /lib/libc.so.6: version `GLIBC_2.15' not found (required by sh)
sh: /lib/libc.so.6: version `GLIBC_2.15' not found (required by /usr/lib/libreadline.so.6)
Any thoughts appreciated. Thanks.
Last edited by emdonahu (2012-12-17 03:12:06)
I'm far from an expert on this, but I suspect your mirrors are a bit out of date. You manually installed glibc 2.16, which is the current version, but your mirrors still had packges depending on 2.15.
Forget about sudo for the time being, can you use "su", or log in as root on another tty?
Thanks for the response.
su just tells me Incorrect Password without prompting for any password. I'm not sure if I've ever gotten su to work on this machine. Looking into that.
The other ttys never get to the password prompting phase. I just type my login over and over.
Currently looking for a way to get root.
Regarding mirrors, looking at this list here, the only mirror listed as out of sync in my /etc/pacman.d/mirrolist is the bitwave one, but that is way down in my list (I keep most mirrors in my list for exhaustive search. Unsure if this is necessary or advisable). Does this answer in any way the question about whether my mirrors are out of date?
ps, I rebooted and am now getting the behavior of the virtual terminals: a login prompt that won't accept any usernames.
Sending ctrl alt delete gets me
/bin/bash: lib/libc.so.6: version 'GLIBC_2.15' not found (required by /bin/bash) /bin/bash: lib/libc.so.6: version 'GLIBC_2.15' not found (required by /usr/lib/libreadline.so.6)
Last edited by emdonahu (2012-12-06 21:06:13)
So I'm on a rescue CD, I mounted my arch partition but I can't chroot it because, of course, bash requires glibc. So it seems like the current question is how do I (un)install things from the outside without being able to get into a shell?
You don't need to uninstall anything. You just need to install the right things (which will overwrite the old versions).
If you have the arch-install-scripts on that rescue CD, then you can use pacstrap. Alternately, pacstrap is really just a convenient wrapper for pacman functions - if you don't have pacstrap just check the pacman man page for the right flags to install on a different root.
Unfortunately I'm on a slackware rescue disk that predates my arch install. Will I be able to work from that or should I get my hands on some blank cd?
And assuming I do get to pacman, I should be looking for installs (ie /bin/bash) that depend on glib 2.16?
I think you will find it a lot easier if you can use an Arch rescue CD. You can probably use a USB key if you have one and your system will boot from it.
You don't need to look for installs which depend on anything. That's what will be in the repos anyway. You just need to get everything updated and then you will automatically have stuff which depends on the current glibc.
Progress, though not enough. Further developments:
I burned myself an arch disk and, running it as a live cd, was able to mount my system and use pacman with the -r flag (and the --cachedir flag) to update my system to get everything working properly with glibc (note: do NOT use pacstrap on an already installed arch).
Next I discovered that I had transitioned to systemd, and so followed the page on that to set it up.
Now I am able to log in to a command line, but I am unable to get my computer either on the internet or into a graphical mode. iwconfig tells me "no wireless extensions" and startx tells me "no screens found"
I am currently researching what might be the matter, but if anyone has insight into the best way to attack this diagnosis, please chime in. I notice pacman installed (as opposed to upgraded) nouveau-dri in the last update, but do not yet know if this is implicated in my current lack of functoinality. All help appreciated, not quite at the end of my rope yet, but thought I'd post before I forgot where I'd come from in case anyone else finds my tribulations of use.
You can't have "discovered" you had switched to systemd. pacman will not do this. You can only have switched if you made the switch. (The exception is if you install a new system as systemd is now default - what did you do with pacstrap exactly?!)
Hard to say about wireless without knowing what hardware you have - is the firmware etc. current?
xf86-video-nouveau depends on nouveau-dri do you have the former installed?
Check whether any other video drivers are installed and/or being loaded. I remember having to blacklist something for nouveau but that was ages ago - I'm sure it works better now.
So the issue was that I had not mounted the boot partition when updating so my kernel was still 3.1... while my /usr/lib/modules... was full of 3.6... modules, hence why none were loading. After updating the kernel, trampling the bootloader, and reinstalling the bootloader, I can successfully start xfce, wireless, etc. The final problem confronting me seems fairly trivial, and I expect I will shortly figure it out:
running pure startxfce4 from my login yields a desktop, but it won't load my key-map (dvorak), it can't run wpa_supplicant etc (but sudo wpa_sup... will work). Running sudo startxfce4 boots up a desktop that does load my keymap, can run wireless flawlessly etc, though obviously I'm logged in as root. I hopefully just need to do some reading to discover who is supposed to have what permissions in a normal user environment to make everything run smoothly.
For the record, attempting a wpa_supplicant as my normal user yields
ioctl[STOCSIWPMKSA]: operation not permitted 12_packet_init: socket(PF_PACKET): operation not permitted Could not set interface wlan0 flags: operation not permitted
Last edited by emdonahu (2012-12-14 22:12:26)
I knew I shouldn't have gotten too optimistic. We now have regression of unknown causes. startxfce4 fails as a normal user (but curiously succeeds with sudo startxfce4).
startxfce4 sends the screen black and gives me a popup window reading:
Unable to contact settings server Failed to connect to socket /tmp/dbus-n4oOHIA0BK: connection refused
I have xorg-server, xorg-xinit, and xorg-server-utils installed
I ran startxfce4 normally (which failed) and with sudo (which succeeded) and diffed the resulting logs. They are different in only 2 respects:
The successful log reads
(--) using VT number 2
(++) using VT number 1
Additionally, the successful log contains this chunk near the end:
(II) intel(0): EDID vendor "LEN", prod id 16561 (II) intel(0): Printing DDC gathered Modelines: (II) intel(0): Modeline "1600x900"x0.0 108.50 1600 1648 1680 1920 900 903 908 942 -hsync -vsync (56.5 kHz eP) (II) intel(0): Modeline "1600x900"x0.0 90.43 1600 1648 1680 1920 900 903 908 942 -hsync -vsync (47.1 kHz eP)
I have xf86-video-nouveau, xf86-video-intel, and nouveau-dri installed.
Slim, when enabled in systemd, gives me
Cannot execute login command
and its log file is full of
slim: waiting for X server to begin accetping connections Giving up slim: unable to connect to X server
Is there something I don't have permissions to that is integral to xserver startup that would explain why I can run it with sudo?
I removed my .xinitrc to see if that was causing problems. No change except that now slim's logs report the occasional
slim: pam_authenticate(): Conversation error
The quest continues...
Last edited by emdonahu (2012-12-15 23:52:58)
I think I am declaring a qualified success.
For the wireless, it turned out that I had enabled dhcpcd as well as wicd in systemd while I was messing with stuff earlier. Disabling dchpcd and enabling only wicd seemed to allow me to connect. I was also able to launch xfce once I removed my .xmodmap. This confuses me, since the only thing I did was swap a couple keys like ctrl-caps lock, but hey. When I reenabled slim after fixing the wireless I was able to put .xmodmap back in with no trouble so I have no precise idea how that solution came to be. I then encountered the libpng/libtiff issue documented in the news, fixed that up, and I can now boot graphically, connect to the internet, and run (almost) all my applications.
The one exception is that clementine segfaults immediately on startup with the message
QNetworkDiskCache::prepare() unable to open temporary file Segmentation fault (core dumped)
If anyone knows what that might be about please let me know, but for the moment I'm just going to go enjoy Dylan's Tempest on Banshee. Man was that harrowing, but oh so educational.
EDIT: fate is cruel, Banshee segfaults too.
Last edited by emdonahu (2012-12-17 08:25:36)