Slackware - ARM This forum is for the discussion of Slackware ARM. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
12-25-2015, 04:05 AM
|
#1
|
Member
Registered: Oct 2012
Location: Germany
Distribution: Slackware, Salix, slarm64
Posts: 212
Rep:
|
Login error after upgrade of -current
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.
For the upgrade I made (as root)
Code:
slackpkg update
slackpkg upgrade-all
The change in the logfile /var/lib/slackpkg/install.log is only one line:
Code:
2015/12/24 23:09:50 upgraded: glibc-solibs-2.22-arm-5.txz [slackware] (was glibc-solibs-2.22-arm-5)
The logs of the startup process contained in /var/log/syslog and /var/log/messages are attached to this post.
How can I fix that (without reinstalling the system)?
|
|
|
12-25-2015, 07:36 AM
|
#2
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,665
|
Quote:
Originally Posted by slacksam
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.
For the upgrade I made (as root)
Code:
slackpkg update
slackpkg upgrade-all
The change in the logfile /var/lib/slackpkg/install.log is only one line:
Code:
2015/12/24 23:09:50 upgraded: glibc-solibs-2.22-arm-5.txz [slackware] (was glibc-solibs-2.22-arm-5)
The logs of the startup process contained in /var/log/syslog and /var/log/messages are attached to this post.
How can I fix that (without reinstalling the system)?
|
I have not seen this before, but from using google it appears that it's because your locale data is from an older version of glibc to the one installed.
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".
|
|
|
12-25-2015, 08:39 AM
|
#3
|
Member
Registered: Oct 2012
Location: Germany
Distribution: Slackware, Salix, slarm64
Posts: 212
Original Poster
Rep:
|
Hi Stuart,
thanks for your helpful reply.
Quote:
[...] then use upgradepkg to fix it.
|
On my RPi 1 with Slackware ARM 14.1 I can mount the partition of the SD card from my RPi 2 (with the broken -current system).
When I mount it to /mnt and do
Code:
ls /mnt/var/log/packages/glibc*
then I get
Code:
/mnt/var/log/packages/glibc-2.22-arm-4
/mnt/var/log/packages/glibc-i18n-2.22-arm-4
/mnt/var/log/packages/glibc-profile-2.22-arm-4
/mnt/var/log/packages/glibc-solibs-2.22-arm-4-upgraded-2015-12-24,23:09:43
/mnt/var/log/packages/glibc-solibs-2.22-arm-5
/mnt/var/log/packages/glibc-zoneinfo-2015g-noarch-4
But chroot doesn't work due to the error message on login. 
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
Last edited by slacksam; 12-25-2015 at 08:58 AM.
|
|
|
12-25-2015, 10:15 AM
|
#4
|
Senior Member
Registered: Jan 2008
Location: Urbana IL
Distribution: Slackware, Slacko,
Posts: 3,716
|
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.
|
|
|
12-25-2015, 12:25 PM
|
#5
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,665
|
Quote:
Originally Posted by Drakeo
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.
|
I'm not sure that this would be near the correct answer and multilib does not exist on ARM.
|
|
|
12-25-2015, 01:32 PM
|
#6
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,665
|
Quote:
Originally Posted by slacksam
But chroot doesn't work due to the error message on login. 
Is it possible to do an upgradepkg without chroot?
|
You don't need to chroot into it.
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 ;-)
|
|
1 members found this post helpful.
|
12-26-2015, 03:49 AM
|
#7
|
Member
Registered: May 2004
Distribution: BSD
Posts: 269
Rep: 
|
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.
|
|
|
12-26-2015, 04:38 AM
|
#8
|
Member
Registered: Oct 2012
Location: Germany
Distribution: Slackware, Salix, slarm64
Posts: 212
Original Poster
Rep:
|
Quote:
Originally Posted by drmozes
ROOT=/mnt/hd upgradepkg /tmp/glibc-2.22*z
|
Worked!
Stuart, thanks very much!
Next time I'll do an upgrade of glibc first.
Last edited by slacksam; 12-26-2015 at 04:40 AM.
|
|
|
12-29-2015, 05:22 PM
|
#9
|
Senior Member
Registered: Nov 2003
Distribution: Slackʍɐɹǝ
Posts: 1,488
|
Quote:
Originally Posted by drmozes
You don't need to chroot into it.
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 ;-)
|
Mine won't upgrade package, says its already installed.
|
|
|
01-08-2016, 07:19 AM
|
#10
|
LQ Guru
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792
|
Quote:
Originally Posted by enine
Mine won't upgrade package, says its already installed.
|
Sorry for the late reply, but if you haven't figured it out yet, add --reinstall to the command.
Code:
ROOT=/mnt/hd upgradepkg --reinstall /tmp/glibc-2.22*z
|
|
|
All times are GMT -5. The time now is 12:19 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|