Per the update instructions in the wiki, I manually removed udisks (which would have bitten me). I also removed a number of 32 bit devel libs from my system, as was specified.
I found it necessary to rebuild my rpm database.
My system was fully updated in Mageia 6 before I started.
Using urpmi, I switched repositories by first deleting the existing mageia 6 repos then adding in the mageia 7 repos, as called out in the Mageia 7 Release Notes in the wiki.
All of this was per the wiki, and I don't think I missed anything.
I started the update using this command:
- Code: Select all
urpmi --auto-update --auto --force --download-all --test
and it appeared to complete successfully. It also had the side-effect of downloading 5015 packages required for my upgrade. I have been careful to preserve those files through my multiple attempts to upgrade; why download again?
I then did the upgrade with
- Code: Select all
urpmi --auto-update --auto --force
This command installed the first 720-odd packages onto the disk (including glibc, the kernel, and some perl stuff, among other things), then began the scripting to install them into the system.
AT this point, installation fails.
When those first packages are being installed, I was seeing this warning several times:
- Code: Select all
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_PAPER = "en_US",
LC_ADDRESS = "en_US",
LC_MONETARY = "en_US",
LC_SOURCED = "1",
LC_NUMERIC = "en_US",
LC_TELEPHONE = "en_US",
LC_MESSAGES = "en_US",
LC_COLLATE = "en_US",
LC_IDENTIFICATION = "en_US",
LC_MEASUREMENT = "en_US",
LC_CTYPE = "en_US",
LC_TIME = "en_US",
LC_NAME = "en_US",
LANG = "en_US"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
The installation then segfaulted, informing me that there was a problem with the format of the new initrd (sorry, I did not copy the specific error message).
I then tried to re-run the urpmi upgrade command and got this message:
- Code: Select all
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_PAPER = "en_US",
LC_ADDRESS = "en_US",
LC_MONETARY = "en_US",
LC_SOURCED = "1",
LC_NUMERIC = "en_US",
LC_TELEPHONE = "en_US",
LC_MESSAGES = "en_US",
LC_COLLATE = "en_US",
LC_IDENTIFICATION = "en_US",
LC_MEASUREMENT = "en_US",
LC_CTYPE = "en_US",
LC_TIME = "en_US",
LC_NAME = "en_US",
LANG = "en_US"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Int64.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xce00080)
The real issue is the last line, but I presume that the preceding warning is actually the source of the problem. Unfortunately, I don't know what is supposed to be there. I did manually set the LC_ALL key (export LC_ALL=en_US) but that did not solve the problem.. Instead, I now get the error message (I get it multiple times):
- Code: Select all
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US)
I also get the same warning as above, except that LC_all is set to "en_US". And finally, I seem to have the error:
- Code: Select all
error: rpmdb: DB_LOCK->lock_put: Lock is no longer valid
error: db5 error(22) from dbcursor->c_close: Invalid argument
And at this point urpmi hangs and I have to force-kill it.
So, what should I do about this?