Bug 116928

Summary: Firefox has no dependency on mozilla-nspr-32bit
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Wolfgang Rosenauer <wolfgang.rosenauer>
Component: OtherAssignee: E-mail List <bnc-team-screening>
Status: RESOLVED WORKSFORME QA Contact: Klaus Kämpf <kkaempf>
Severity: Normal    
Priority: P5 - None CC: aj, ro
Version: RC 2   
Target Milestone: ---   
Hardware: x86-64   
OS: All   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Wolfgang Rosenauer 2005-09-14 08:39:26 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?
Comment 1 Andreas Jaeger 2005-09-14 08:47:30 UTC
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.
Comment 2 Wolfgang Rosenauer 2005-09-14 09:00:13 UTC
Yes, this works for me as well.
Andrea, could you please describe how you saw the problem?
Comment 3 Ruediger Oertel 2005-09-14 13:52:00 UTC
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 
 
Comment 4 Andrea Arcangeli 2005-09-14 14:41:00 UTC
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. 
Comment 5 Andrea Arcangeli 2005-09-14 14:41:45 UTC
it was actually RC2 and not RC4 ;) 
Comment 6 Ruediger Oertel 2005-09-14 15:05:21 UTC
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 
 
Comment 7 Andrea Arcangeli 2005-09-14 15:32:07 UTC
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 #  
 
 
Comment 8 Ruediger Oertel 2005-09-14 23:01:29 UTC
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. 
Comment 9 Andrea Arcangeli 2005-09-15 02:07:02 UTC
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. 
Comment 10 Wolfgang Rosenauer 2005-09-30 08:29:26 UTC
this is at least wrong in the Firefox component. YaST would be the better one.
Comment 11 Klaus Kämpf 2005-09-30 08:42:54 UTC
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 ...  
Comment 12 Wolfgang Rosenauer 2005-09-30 08:46:49 UTC
Andrea might know.
Comment 13 Andrea Arcangeli 2005-09-30 15:56:52 UTC
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 ;). 
Comment 14 Andreas Jaeger 2005-09-30 16:43:34 UTC
resolving as worksforme since nobody can reproduce it and we have not enough
information.