by moonman » Sun Sep 16, 2012 7:14 am
If you're receiving the following error while updating with pacman (even on a fresh install), the following instructions should be of help!
$this->bbcode_second_pass_quote('', 'e')rror: failed to commit transaction (conflicting files)
glibc: /lib exists in filesystem
Errors occurred, no packages were upgraded.
It's typically a bad idea to force an install(unless it's required) or delete a directory with required files in it...So I'm updating the instructions of the original poster. I confirmed that these worked on a fresh install from the arclinuxarm-13-06-2012 image. If you come across any issues with this on an older install, please don't force an install or go deleting random files...hop on over to IRC and ask for some help and be patient. kthxbai -xenoxaos
First off, we'll need to go clean up some stuff that may have hung around when it doesn't need to be there. You should be on a fairly recent kernel by now.
Currently, there are some remnants of an old kernel in /lib.
Make sure that there is just one subdirectory called '3.1.9-10+' in /lib/modules/
$this->bbcode_second_pass_code('', 'ls /lib/modules/')
if there's only that one, then remove it with
$this->bbcode_second_pass_code('', 'rm -rf /lib/modules')
There's an old pcmciautils package that is no longer in the repos and really isn't needed. (Last I checked, the RPi doesn't have a PCMCIA slot.)
$this->bbcode_second_pass_code('', 'pacman -R pcmciautils
mv /etc/profile.d/locale.sh /etc/profile.d/locale.sh.pacnew
pacman -Syu --ignore glibc')
Say 'N' to updating pacman
Say 'Y' to any replacements and say 'Y' when it asks if you want to skip the above packages
After it installs all of those
$this->bbcode_second_pass_code('', 'pacman -Su ')
And once again, say 'N' to pacman and 'Y' to any other packages
If you are stuck with this error:
error: failed to commit transaction (conflicting files)
glibc: /lib exists in filesystem
Errors occurred, no packages were upgraded.
There is a way to force the upgrade and not break the system. Make sure you you don't close ssh session before you finish. If you do, you won't be able to log back in. Here is what I did:
pacman -Syf pacman
say Y to all questions
You will get this error:
warning: /etc/locale.gen installed as /etc/locale.gen.pacnew
error: extract: not overwriting dir with file lib
error: problem occurred while upgrading glibc
call to execv failed (No such file or directory)
error: command failed to execute correctly
error: could not commit transaction
error: failed to commit transaction (transaction aborted)
Errors occurred, no packages were upgraded.
Now delete /lib
/usr/lib/ld-linux.so.3 /bin/rm -Rf /lib
install glibc again:
/usr/lib/ld-linux.so.3 /usr/bin/pacman -Sy glibc
Now do a full upgrade. Everything should be working now.
Troubleshooting:
If, after you are done, pacman is not upgrading, do this:
/usr/lib/ld-linux.so.3 /usr/bin/pacman -Suy
then
$this->bbcode_second_pass_code('', '/usr/lib/ld-linux.so.3 /usr/bin/pacman -Sy glibc')
Thanks to pepedog for suggeting to use ld-linux.so.3 directly