Bugzilla – Bug 116928
Firefox has no dependency on mozilla-nspr-32bit
Last modified: 2005-09-30 16:43:34 UTC
Firefox just automatically requires libnspr4.so and stuff but there is no differentiation between 64bit and 32bit package. I think that RPM is broken because it should know that it needs the 32bit version. The only solution I see is a %ifarch x86_64 Requires: mozilla-nspr-32bit %endif statement in the specfile. Anyway I think it's too late for final now?
This does not look valid to me. $ rpm -q --requires MozillaFirefox |grep libnspr4 libnspr4.so $ rpm -q --whatprovides libnspr4.so mozilla-nspr-32bit-4.6-3 So, this should work.
Yes, this works for me as well. Andrea, could you please describe how you saw the problem?
the provides are substantially different, no hacks needed here. # rpm -qp --provides /b/10.0-i386/packs-i386/mozilla-nspr/mozilla-nspr-4.6/mozilla-nspr-32bit-4.6-3.x86_64.rpm libnspr4.so libplc4.so libplds4.so mozilla-nspr-32bit = 4.6-3 # rpm -qp --provides /b/10.0-x86_64/packs-x86_64/mozilla-nspr/mozilla-nspr-4.6/mozilla-nspr-4.6-3.x86_64.rpm libnspr4.so()(64bit) libplc4.so()(64bit) libplds4.so()(64bit) mozilla-nspr = 4.6-3
To comment #2, I tried an update of my x86-64 system to RC4, I resolved all deps, and after that mozilla didn't start because a 32bit lib was missing. Then I installed mozilla-nspr-32bit and it fixed it. see: opteron:/home/andrea # rpm -e mozilla-nspr-32bit opteron:/home/andrea # exit andrea@opteron:~> firefox /opt/MozillaFirefox/lib/mozilla-xremote-client: error while loading shared libraries: libplds4.so: cannot open shared object file: No such file or directory andrea@opteron:~> andrea@opteron:~> su opteron:/home/andrea # rpm -Uhv ~andrea/tmp/full-x86_64/suse/x86_64/mozilla-nspr-32bit-4.6-3.x86_64.rpm Preparing... ########################################### [100%] 1:mozilla-nspr-32bit ########################################### [100%] opteron:/home/andrea # exit andrea@opteron:~> firefox andrea@opteron:~> Thanks.
it was actually RC2 and not RC4 ;)
it's required here: # rpm -e mozilla-nspr-32bit error: Failed dependencies: libnspr4.so is needed by (installed) mozilla-nss-32bit-3.10-12 libnspr4.so is needed by (installed) MozillaFirefox-1.0.6-16 libnspr4.so is needed by (installed) OpenOffice_org-1.9.125-5 libplc4.so is needed by (installed) mozilla-nss-32bit-3.10-12 libplc4.so is needed by (installed) MozillaFirefox-1.0.6-16 libplc4.so is needed by (installed) OpenOffice_org-1.9.125-5 libplds4.so is needed by (installed) mozilla-nss-32bit-3.10-12 libplds4.so is needed by (installed) MozillaFirefox-1.0.6-16 libplds4.so is needed by (installed) OpenOffice_org-1.9.125-5
ok but strange. Perhaps you're not on RC2 or my rpm db is corrupted? For the record I picked RC2 from here: /mounts/machcd2/CDs/SUSE-10.0-DVD-RC2/CD1/ I can definitely remove it with a simple -e. As long as `rpm -e mozilla-nspr-32bit` keeps spawning an error as it should in your system we can close this report. Here some more info that matches your finding: andrea@opteron:~> rpm -q --provides mozilla-nspr libnspr4.so()(64bit) libplc4.so()(64bit) libplds4.so()(64bit) mozilla-nspr = 4.6-3 andrea@opteron:~> rpm -q --provides mozilla-nspr-32bit libnspr4.so libplc4.so libplds4.so mozilla-nspr-32bit = 4.6-3 andrea@opteron:~> rpm -q --requires MozillaFirefox |grep libnspr4 libnspr4.so andrea@opteron:~> rpm -q --whatprovides libnspr4.so mozilla-32bit-9.3-7.2 mozilla-nspr-32bit-4.6-3 andrea@opteron:~> I've no idea why `rpm -e mozilla-nspr-32bit` works without errors here: opteron:/home/andrea # rpm -e mozilla-nspr-32bit opteron:/home/andrea # rpm -q --provides mozilla-nspr-32bit package mozilla-nspr-32bit is not installed opteron:/home/andrea #
ah ok, there we go: you still have the old "mozilla-32bit" package installed, that provides the same sonames but probably older libraries and possibly in other locations: citing: ##> rpm -q --whatprovides libnspr4.so ##mozilla-32bit-9.3-7.2 ##mozilla-nspr-32bit-4.6-3 and this is the reason why you can remove one of these, since both provide the same libs.
Good point! So why wasn't the mozilla-32bit package deleted? Wouldn't the same problem happen when other people upgrades from 9.3 to 10.0? (well that's exactly what I did myself ;) Perhaps there's no way to tell yast that mozilla-32bit shall be deleted because it doesn't exists anymore? Well, it's up to you, it's a minor issue anyway, feel free to close now that you know what was going wrong here.
this is at least wrong in the Firefox component. YaST would be the better one.
Well, YaST does what its told to do. On upgrade, packages are usually deleted if there is no replacement (i.e no newer package or none obsoleting it). However, this only applies to SuSE/Novell packages. Foreign packages are not deleted. Additionally, you can switch the 'delete packages' update option off. So in the above case (mozilla-32bit still existing after upgrade), either the package was not the official one (whats the packages vendor ?) or the 'delete packages' option was switched off. In either case, this looks more like a user error ...
Andrea might know.
I don't think I ever installed non-SUSE packages. I didn't touch any option during the update, so if the "delete packages" is off by default that was off (I didn't even checek it). If it was on by default, that was on. Unfortunately I deleted the mozilla-32bit package, so I can't see if it was a non-suse package. I believe we can close this bugreport, I hope it was my mistake somehow (I just wonder how), but deleting a package by hand is not a big deal anyway ;).
resolving as worksforme since nobody can reproduce it and we have not enough information.