Login error after upgrade of -current
2 Attachment(s)
Hi,
yesterday I made an upgrade of Slackware-ARM-current on my RPi 2 and now I'm not able to login anymore. When trying to log in, I get the error message Code:
loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_COLLATE) / sizeof (_nl_value_type_LC_COLLATE[0]))' failed. Code:
slackpkg update Code:
2015/12/24 23:09:50 upgraded: glibc-solibs-2.22-arm-5.txz [slackware] (was glibc-solibs-2.22-arm-5) How can I fix that (without reinstalling the system)? |
Quote:
I don't understand why slackpkg reports that it upgraded glibc-solibs to the same version as what was already present, but I don't use slackpkg so maybe that's normal or I don't understand the report. You'd need to boot the installer and mount your file system, then look at which versions of glibc are installed in /var/log/packages; then use upgradepkg to fix it. I don't use slackpkg but I have never had an issue using upgradepkg as the packages are built -- indeed that's how each batch of updates is generally done. However, it may be that your $LC_COLLATE is set differently to mine : mine is the default "C". |
Hi Stuart,
thanks for your helpful reply. Quote:
When I mount it to /mnt and do Code:
ls /mnt/var/log/packages/glibc* Code:
/mnt/var/log/packages/glibc-2.22-arm-4 Is it possible to do an upgradepkg without chroot? [Edit]Oh, and how do I check my $LC_COLLATE variable without chroot? [Edit 2] My $LC_COLLATE is C |
Yes this happen to me during an upgrade on one of the systems I am writing a script for users to upgrade with. And seems that mirror I was using was not up to date. It borked the system.
sorry to say you went through what I went through. I noticed multilib is not up to date with current with the compat32. I use the UK mirror so I just did it all manually. That system was borked. I you may want to chroot install over it. I tried but again endless loop of login type and logs you out. I am glad it was only a test system that got borked. Hang in there. I should have used my local repos but had no clue current was going to catch me off guard. |
Quote:
|
Quote:
mount the file system as you have, and do this ROOT=/path/to/thefilesystem upgradepkg /path/to/glibc-2.22*z e.g. if you mounted the filesystem of -current under /mnt/hd, and had the glibc packages in /tmp on your 14.1 machine: ROOT=/mnt/hd upgradepkg /tmp/glibc-2.22*z Give that a go. If that doesn't work, then it may be something going weird with the patches I applied to the -5 build -- but as I said, it didn't break on any of my systems and I have quite a lot of them ;-) |
Just wanted to say I ran into this as well. I first upgraded glibc-solibs, and then the above message appeared, making upgradepkg unusable. I fixed it by running `LC_ALL=C upgradepkg ...' and updated the other glibc packages (as well as pkgtools and aaa_elflibs). I did not run into this on my x86 and x86_64 machines. On my other Raspberry Pi, I did not experience this either; there, I started the upgrade with LC_ALL=C upgradepkg right away and first upgraded glibc, aaa_elflibs and pkgtools in one go before upgrading anything else. I was lucky to have mksh installed as my default shell, since bash was broken due to this; mksh was not affected, and allowed me to login.
|
Quote:
Stuart, thanks very much! Next time I'll do an upgrade of glibc first. |
Quote:
Mine won't upgrade package, says its already installed. |
Quote:
Code:
ROOT=/mnt/hd upgradepkg --reinstall /tmp/glibc-2.22*z |
All times are GMT -5. The time now is 05:43 PM. |