Bug 15780

Summary: Mageia 5 RC can't update Mga4 b/c of packages installed as i586 instead of x86_64
Product: Mageia Reporter: André DESMOTTES <lebarhon>
Component: InstallerAssignee: Mageia Bug Squad <bugsquad>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: Normal CC: marja11, thierry.vignaud
Version: Cauldron   
Target Milestone: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Source RPM: CVE:
Status comment:
Attachments: report.bug
Screenshot of uname -a
screenshot of rpm commands
report.bug compressed
report.bug compressed

Description André DESMOTTES 2015-04-27 17:35:12 CEST
Description of problem:

Mageia 5 RC DVD x86_64 non-efi

In the "Installing" step :
- Looking at packages already installed
- Finding packages to upgrade
- Installing: An error occurred:
        rpms sorted by depedencies
        (followed by hundreds of packages names)
        click on OK
- An error occurred. Installation failed.



Reproducible: 

Steps to Reproduce:
Comment 1 André DESMOTTES 2015-04-27 17:37:16 CEST
Created attachment 6379 [details]
report.bug
Comment 2 claire robinson 2015-04-27 18:02:52 CEST
starting installing packages
created transaction for installing on /mnt (remove=119, install=0, upgrade=2246)
Installation failed:
	harddrake-ui is needed by (installed) drakconf-12.52-1.mga4.noarch
	drakconf-icons = 12.52 is needed by (installed) drakconf-12.52-1.mga4.noarch
claire robinson 2015-04-27 18:05:03 CEST

Priority: Normal => release_blocker
Blocks: (none) => 14069

claire robinson 2015-04-27 18:06:17 CEST

CC: (none) => thierry.vignaud

Comment 3 Thierry Vignaud 2015-04-28 06:55:21 CEST
Looks like you're trying to update a 32bit install with a 64bit installer?

* installed sane-backends-1.0.24-3.mga4.i586 is conflicting because of unsatisfied libsane.so.1
* set_rejected: sane-backends-1.0.24-3.mga4.i586
(...)
* selected harddrake-ui-16.86-1.mga5.x86_64 is conflicting because of unsatisfied sane-backends
* promoting sane-backends-1.0.24-10.mga5.x86_64 because of conflict above
* no packages match sane-backends (it is either in skip.list or already rejected)
* no packages match sane-backends (it is either in skip.list or already rejected)
* installed harddrake-ui-16.26.12-1.mga4.x86_64 is conflicting because of unsatisfied sane-backend
* selected harddrake-ui-16.86-1.mga5.x86_64 is conflicting because of unsatisfied sane-backends
Comment 4 André DESMOTTES 2015-04-28 09:53:15 CEST
Created attachment 6385 [details]
Screenshot of uname -a

I don't think so
Comment 5 Thierry Vignaud 2015-04-28 09:57:44 CEST
What's the result of:
rpm -qa |grep x86_64|wc -l
rpm -qa |grep i586|wc -l
Thierry Vignaud 2015-04-28 12:26:52 CEST

Keywords: (none) => NEEDINFO

Comment 6 André DESMOTTES 2015-04-28 12:36:13 CEST
Here it is:

[root@localhost ~]# rpm -qa |grep x86_64|wc -l
1
[root@localhost ~]# rpm -qa |grep i586|wc -l
0
[root@localhost ~]# rpm -qa |grep x86_64
lib64atlas3-x86_64-3.8.4-4.mga4
[root@localhost ~]#
Comment 7 Thierry Vignaud 2015-04-28 13:09:07 CEST
uh? That's not possible.
You should have tons of packages
Comment 8 Marja Van Waes 2015-04-28 14:33:12 CEST
(In reply to Thierry Vignaud from comment #7)
> uh? That's not possible.
> You should have tons of packages

same in cauldron.

Seeing the arch works with "--last" though:

[marja@Mga5RC_EFI ~]$ rpm -qa | wc -l
3542
[marja@Mga5RC_EFI ~]$ rpm -qa --last | wc -l
3542
[marja@Mga5RC_EFI ~]$ rpm -qa --last | grep x86_64 | wc -l
2647
[marja@Mga5RC_EFI ~]$ rpm -qa --last | grep i586 | wc -l
0
[marja@Mga5RC_EFI ~]$ rpm -qa --last | grep noarch | wc -l
894
[marja@Mga5RC_EFI ~]$ 

But I seem to have one package that is neither x86_64, nor i586, nor noarch ;-)

@ lebarhon

Can you please try again, with

rpm -qa --last | grep x86_64 | wc -l
rpm -qa --last | grep 1586 | wc -l

CC: (none) => marja11

Comment 9 Marja Van Waes 2015-04-28 14:35:24 CEST
don't copy my "1586 "... it is, of course, "i586"
Comment 10 André DESMOTTES 2015-04-28 15:00:32 CEST
Created attachment 6389 [details]
screenshot of rpm commands

the --last option change the output
Comment 11 Marja Van Waes 2015-04-28 15:12:26 CEST
(In reply to André DESMOTTES from comment #10)
> Created attachment 6389 [details]
> screenshot of rpm commands
> 
> the --last option change the output

So you have 145 i586 packages.

You can see them all with 
rpm -qa --last | grep i586

please replace them with their 64bit equivalents, first, before upgrading.

(Do we tell users to check for 32bits packages and replace those, before trying to upgrade their 64bit Mageia?)

Keywords: NEEDINFO => (none)

Comment 12 Thierry Vignaud 2015-04-28 15:13:27 CEST
The issue is that you previously had the i586 version of sane-backends on a x86_64 installation.
As the DVD only contains x86_64, it failed to upgrade.

Had you added the whole online media, the upgrade would have succeeded.

The DVD cannot handle such case w/o adding online media.
There's nothing I can do here.

Keywords: (none) => NEEDINFO
Priority: release_blocker => Normal
Status: NEW => RESOLVED
Blocks: 14069 => (none)
Resolution: (none) => WONTFIX
Summary: Mageia 5 RC can't update Mageia 4 on a non-efi laptop => Mageia 5 RC can't update Mga4 b/c of packages installed as i586 instead of x86_64

Thierry Vignaud 2015-04-28 15:13:45 CEST

Keywords: NEEDINFO => (none)

Comment 13 Samuel Verschelde 2015-04-28 15:21:09 CEST
This is worth a note in the Release Notes and/or Errata, because some packages pull i586 deps in x86_64 systems (not counting users who mistakingly install i586 packages because rpmdrake proposes both and they don't know which one to choose).

For example, i586 libs are necessary for playing Steam games.

CCing docteam.
Comment 14 Thierry Vignaud 2015-04-28 15:25:24 CEST
Libs are not an issue.
Non libs packages are.
Comment 15 Marja Van Waes 2015-04-28 15:26:53 CEST
(In reply to Samuel VERSCHELDE from comment #13)
> This is worth a note in the Release Notes and/or Errata, because some
> packages pull i586 deps in x86_64 systems (not counting users who
> mistakingly install i586 packages because rpmdrake proposes both and they
> don't know which one to choose).
> 
> For example, i586 libs are necessary for playing Steam games.
> 
> CCing docteam.

already adjusted, the first line was already there and is now bold, the 2nd line was added:

It is recommended that the online repositories be set up during the upgrade as the DVD only includes a subset of the complete set of Mageia online repositories.
This is especially important if you use important 32bits packages in a otherwise 64bits install, because the 64bits iso will only contain the 64bits packages, so the upgrade is likely to fail if you do not add online repositories. 

Feel free to correct this, if needed
Comment 16 André DESMOTTES 2015-04-28 17:05:47 CEST
(In reply to Marja van Waes from comment #11)
> (In reply to André DESMOTTES from comment #10)
> > Created attachment 6389 [details]
> > screenshot of rpm commands
> > 
> > the --last option change the output
> 
> So you have 145 i586 packages.
> 
> You can see them all with 
> rpm -qa --last | grep i586
> 
> please replace them with their 64bit equivalents, first, before upgrading.
> 
> (Do we tell users to check for 32bits packages and replace those, before
> trying to upgrade their 64bit Mageia?)

I have only one i586 package that isn't a library: sane-backends
It doesn't exist a 64bit equivalent, so I uninstalled it and a new try for the installation is OK.
Comment 17 André DESMOTTES 2015-04-28 17:13:38 CEST
(In reply to Thierry Vignaud from comment #12)

> 
> Had you added the whole online media, the upgrade would have succeeded.
> 
> The DVD cannot handle such case w/o adding online media.
> There's nothing I can do here.

If you are referring to the installer suggestion to add extra media, shown here:
http://docteam.mageia.nl/en/installer/content/media_selection.html
I did add it.


IMHO to keep a friendly installer, it should detect bad arch packages and ask to uninstall/replace them instead of a general error message. May be a new feature for Mageia 6?
Comment 18 André DESMOTTES 2015-04-28 17:39:50 CEST
Created attachment 6390 [details]
report.bug compressed

I talked too fast, the problem is still there, half an hour later.
A window appears:
"136 installation transactions failed
Installation of packages failed:
(list of files and packages)"
André DESMOTTES 2015-04-28 17:40:09 CEST

Status: RESOLVED => REOPENED
Resolution: WONTFIX => (none)

Comment 19 Marja Van Waes 2015-04-28 17:56:46 CEST
(In reply to André DESMOTTES from comment #17)
> (In reply to Thierry Vignaud from comment #12)
> 
> > 
> > Had you added the whole online media, the upgrade would have succeeded.
> > 
> > The DVD cannot handle such case w/o adding online media.
> > There's nothing I can do here.
> 
> If you are referring to the installer suggestion to add extra media, shown
> here:
> http://docteam.mageia.nl/en/installer/content/media_selection.html
> I did add it.
> 

*Online* media can be added in this screen:
http://docteam.mageia.nl/en/installer/content/add_supplemental_media.html
Comment 20 Marja Van Waes 2015-04-28 19:53:29 CEST
(In reply to André DESMOTTES from comment #18)
> Created attachment 6390 [details]
> report.bug compressed
> 
> I talked too fast, the problem is still there, half an hour later.
> A window appears:
> "136 installation transactions failed
> Installation of packages failed:
> (list of files and packages)"


If it is the first lines that are most important (I don't know)
* 136 installation transactions failed
* file /usr/include/lzma.h from install of lib64lzma-devel-5.2.0-1.mga5.x86_64 conflicts with file from package liblzma-devel-5.1.2-0.alpha.4.mga4.i586
then many:
file /usr/include/lzma/*.h from install of lib64lzma-devel-5.2.0-1.mga5.x86_64 conflicts with file from package liblzma-devel-5.1.2-0.alpha.4.mga4.i586
then:
file /usr/share/info/libffi.info.xz from install of lib64ffi-devel-3.1-4.mga5.x86_64 conflicts with file from package libffi-devel-3.0.13-2.mga4.i586
and 2:
file /usr/include/pcre*h from install of lib64pcre-devel-8.36-2.mga5.x86_64 conflicts with file from package libpcre-devel-8.33-2.1.mga4.i586

the first line after that is:
lib64devmapper1.02 >= 1.02.90 is needed by lib64devmapper-event1.02-1.02.90-6.mga5.x86_64
Comment 21 Marja Van Waes 2015-04-28 19:56:07 CEST
(In reply to Thierry Vignaud from comment #14)
> Libs are not an issue.
> Non libs packages are.

I'm not sure we correctly understood this. lebarhon left all his i586 lib packages before upgrading for the second time, because that shouldn't be a problem. That was ok, wasn't it?
Comment 22 Marja Van Waes 2015-04-28 20:25:20 CEST
(In reply to Marja van Waes from comment #20)
> (In reply to André DESMOTTES from comment #18)
> > Created attachment 6390 [details]
> > report.bug compressed
> > 
> > I talked too fast, the problem is still there, half an hour later.
> > A window appears:
> > "136 installation transactions failed
> > Installation of packages failed:
> > (list of files and packages)"
> 
> 
> If it is the first lines that are most important (I don't know)
> * 136 installation transactions failed
<snip>
> and 2:
> file /usr/include/pcre*h from install of lib64pcre-devel-8.36-2.mga5.x86_64
> conflicts with file from package libpcre-devel-8.33-2.1.mga4.i586
> 
> the first line after that is:
> lib64devmapper1.02 >= 1.02.90 is needed by
> lib64devmapper-event1.02-1.02.90-6.mga5.x86_64

lib64devmapper1.02-1.02.90-6.mga5.x86_64.rpm was almost installed, but before that in the same transaction lib64pcre-devel-8.36-2.mga5.x86_64 was to be installed, which failed because of the above conflict
Comment 23 André DESMOTTES 2015-04-28 20:39:57 CEST
Created attachment 6394 [details]
report.bug compressed
Comment 24 André DESMOTTES 2015-04-28 20:40:59 CEST
I re-did the installation activating the online media. It took 2 hours to have at the end the same error message.
report.bug in comment 23
Comment 25 André DESMOTTES 2015-04-28 20:47:22 CEST
For your information, on another PC (my main desktop) I have:

[samageia@localhost ~]$ rpm -qa --last|grep i586|wc -l
151
[samageia@localhost ~]$ rpm -qa --last|grep x86_64|wc -l
2024
[samageia@localhost ~]$ 

The i586 packages, out of the libraries are:
vlc-plugin-theora-2.1.6-1.0.mga4.tainted.i586
wine32-1.6.1-2.mga4.i586                      
wine-gecko-2.21-3.mga4.i586
Comment 26 Marja Van Waes 2015-04-28 21:01:23 CEST
(In reply to André DESMOTTES from comment #24)
> I re-did the installation activating the online media. It took 2 hours to
> have at the end the same error message.
> report.bug in comment 23

yeah, I can see you installed 32bits packages from
http://fr2.rpmfind.net/linux/mageia/distrib/cauldron/i586/media/core/release/

but again 136 installation transactions failed :-(

Thierry will understand (I don't)
Comment 27 Rémi Verschelde 2015-04-28 21:43:22 CEST
(In reply to André DESMOTTES from comment #6)
> Here it is:
> 
> [root@localhost ~]# rpm -qa |grep x86_64|wc -l
> 1
> [root@localhost ~]# rpm -qa |grep i586|wc -l
> 0
> [root@localhost ~]# rpm -qa |grep x86_64
> lib64atlas3-x86_64-3.8.4-4.mga4
> [root@localhost ~]#

Hehe it all fooled us, but indeed "rpm -qa" does not print the arch of the package, the name stops at the release tag.

You should use something like:
rpm -qa --queryformat '%{name} %{ARCH}\n' | grep x86_64 | wc -l
Comment 28 André DESMOTTES 2015-04-28 22:56:20 CEST
rpm -qa --queryformat '%{name} %{ARCH}\n' | grep x86_64 | wc -l
or
rpm -qa --last|grep x86_64|wc -l

give the same result.
Comment 29 Marja Van Waes 2015-04-29 09:15:56 CEST
@ André

I think there are leftovers from your failed upgrade attempt

In your last attempt, I see e.g. both:
scheduling update of lib64lzma-devel-5.2.0-1.mga5.x86_64
scheduling update of liblzma-devel-5.2.0-1.mga5.i586

What does "rpm -qa | grep lzma" show?
Comment 30 Marja Van Waes 2015-04-29 09:17:17 CEST
oops
add "--last" to see the arch ;-)
Comment 31 André DESMOTTES 2015-04-29 09:52:10 CEST
The several upgrade attempts have broken Mageia 4, it doesn't boot any more.
In a console with Alt+Ctrl F2, I have

rpm -qa --last | grep lzma
lib64lzma-devel-5.1.2-0.alpha.4.mga4.x86_64
liblzma-devel-5.1.2-0.alpha.4.mga4.i586
liblzma5-5.1.2-0.alpha.4.mga4.i586
lib64lzma5-5.1.2-0.alpha.4.mga4.x86_64
Comment 32 Marja Van Waes 2015-04-29 10:25:42 CEST
(In reply to André DESMOTTES from comment #31)
> The several upgrade attempts have broken Mageia 4, it doesn't boot any more.
> In a console with Alt+Ctrl F2, I have
> 
> rpm -qa --last | grep lzma
> lib64lzma-devel-5.1.2-0.alpha.4.mga4.x86_64
> liblzma-devel-5.1.2-0.alpha.4.mga4.i586
> liblzma5-5.1.2-0.alpha.4.mga4.i586
> lib64lzma5-5.1.2-0.alpha.4.mga4.x86_64

That looks like you already had both arches when you started upgrading

I doubt we support having both arches of a package side by side. 

@ Akien
do we?
Comment 33 Samuel Verschelde 2015-04-29 10:26:55 CEST
We do, that's why 64 bits libs are named lib64something.
Comment 34 Marja Van Waes 2015-04-29 10:34:47 CEST
(In reply to Samuel VERSCHELDE from comment #33)
> We do, that's why 64 bits libs are named lib64something.

thx :-)

@ lebarhon

I'm still not sure there weren't any other leftovers from your first install attempt that might have had a bad influence on your 2nd and 3rd attempt.

I suggest closing this bug again as wontfix for the original issue (install fails when upgrading with only the 64bit DVD and no online repos, when there are 32bit non-lib packages), and opening a separate bug if you hit this again when there are only 32bit lib packages, but no non-lib installed
Comment 35 Rémi Verschelde 2015-04-29 10:45:50 CEST
(In reply to Samuel VERSCHELDE from comment #33)
> We do, that's why 64 bits libs are named lib64something.

Though it's not rare to have upgrade issues when you have both lib64foo-devel and libfoo-devel, since those packages contain conflicting files (e.g. /usr/include/foo.h). I don't really know how RPM handles that, it just "works" during installation, but I've had issues on updates from time to time, for which I had to uninstall libfoo-devel, update, and then reinstall libfoo-devel.
Comment 36 Samuel Verschelde 2015-04-29 10:53:18 CEST
Instead of a wontfix, I'd suggest an enhancement request (maybe in another bug report), so that a warning is displayed before starting the upgrade.
Comment 37 Marja Van Waes 2015-04-29 10:58:51 CEST
(In reply to Rémi Verschelde from comment #35)
> (In reply to Samuel VERSCHELDE from comment #33)
> > We do, that's why 64 bits libs are named lib64something.
> 
> Though it's not rare to have upgrade issues when you have both
> lib64foo-devel and libfoo-devel, since those packages contain conflicting
> files (e.g. /usr/include/foo.h). I don't really know how RPM handles that,
> it just "works" during installation, but I've had issues on updates from
> time to time, for which I had to uninstall libfoo-devel, update, and then
> reinstall libfoo-devel.

So the problems lebarhon got on his 2nd and 3rd attempt were not caused by leftovers from his first attempt.

I prefer to see it in a separate bug report, that will be much less confusing when coming back to it, later.
Comment 38 Marja Van Waes 2015-04-29 10:59:41 CEST
(In reply to Samuel VERSCHELDE from comment #36)
> Instead of a wontfix, I'd suggest an enhancement request (maybe in another
> bug report), so that a warning is displayed before starting the upgrade.

Yes, please in a separate bug report.
Comment 39 Thierry Vignaud 2015-04-29 11:00:42 CEST
if packages have same contents (CRC, date, size), it's possible to install both.
But when you upgrade, if they don't end in the same packages, contents will differ between libfoo-devel-1 & lib64foo-devel-2...
That's unsupported

Status: REOPENED => RESOLVED
Resolution: (none) => WONTFIX

Comment 40 Marja Van Waes 2015-04-29 11:03:21 CEST
(In reply to Thierry Vignaud from comment #39)
> if packages have same contents (CRC, date, size), it's possible to install
> both.
> But when you upgrade, if they don't end in the same packages, contents will
> differ between libfoo-devel-1 & lib64foo-devel-2...
> That's unsupported

OK, so no separate bug report for that, but add it to our documentation
Comment 41 André DESMOTTES 2015-04-29 14:27:25 CEST
If I look at my other PC under Mageia 4 I have :

[samageia@localhost ~]$ rpm -qa --last | grep lzma
lib64lzma5-5.1.2-0.alpha.4.mga4.x86_64        lun. 03 nov. 2014 09:39:42 CET
python-lzma-0.5.3-2.mga3.x86_64               lun. 30 déc. 2013 14:57:08 CET
liblzma5-5.1.2-0.alpha.3.mga3.i586            lun. 16 sept. 2013 09:01:00 CEST
[samageia@localhost ~]$ 

[samageia@localhost ~]$ rpm -qa --last|grep i586|wc -l
151

As a result, my both PCs can't be upgraded with Mageia 5. That means the problem is very common and a lot of people won't be able to upgrade. As the installer doesn't warn there is a problem and breaks the system, we must expect many complains.
My both PCs had a clean install of Mageia 3 and then an upgrade to Mageia 4.1.
Comment 42 Rémi Verschelde 2015-04-29 14:34:59 CEST
This PC should update fine André, it's only -devel packages that might be problematic. And most users do not install development packages, unless they are already advanced enough to try to compile stuff themselves.
Comment 43 Samuel Verschelde 2015-04-29 14:39:52 CEST
(In reply to Rémi Verschelde from comment #42)
> This PC should update fine André, it's only -devel packages that might be
> problematic. And most users do not install development packages, unless they
> are already advanced enough to try to compile stuff themselves.

Provided online 32 bits sources are added, if the i586 packages include non-lib packages. Otherwise, IIUC, it can work but can fail too.
Comment 44 Thierry Vignaud 2015-04-29 15:07:23 CEST
(In reply to Rémi Verschelde from comment #42)
> This PC should update fine André, it's only -devel packages that might be
> problematic. And most users do not install development packages, unless they
> are already advanced enough to try to compile stuff themselves.

And even less people install both 32 & 64bit devel packages
Comment 45 André DESMOTTES 2015-04-29 15:32:35 CEST
I think I know where the devel packages come from. Probably because I needed RawTherapee 4.2 to translate its doc and Mageia 4 and 5 are shipped with RT 4.1, so I compiled RT 4.2 with difficulties despite the nice help of RT people. As many people complain for not having the last release of their beloved software, I fear they compiled them too. What I did anyone can. May be we could do a poll on MLO.
I don't have any idea where the 32bits software come from, I never voluntarily installed such soft.
Comment 46 André DESMOTTES 2015-04-29 20:41:02 CEST
FYI, I did a clean install of Mageia 3 followed by an update, and an upgrade by Mageia 4 + update + upgrade by Mageia 5 + update.

After Mageia 3:
[sam4@localhost ~]$ rpm -qa --last|grep i586|wc -l
0
Installation of win64 and flash-plugin:
[sam4@localhost ~]$ rpm -qa --last|grep i586|wc -l
72

After Mageia 4 upgrade
[sam4@localhost ~]$ rpm -qa --last|grep i586|wc -l
62

After Mageia 5 upgrade
[sam4@localhost ~]$ rpm -qa --last|grep i586|wc -l
65

No problem, all fine installations.