Bug 147510

Summary: NSS has broken includes, or pkg-config, or something
Product: [Fedora] Fedora Reporter: Bill Nottingham <notting>
Component: mozillaAssignee: Christopher Aillon <caillon>
Status: CLOSED CANTFIX QA Contact: Ben Levenson <benl>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: mcepl, rrelyea, rvokal, wtc
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-08 16:17:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Bill Nottingham 2005-02-08 17:51:12 UTC
nss/cdbhdl.h includes mcom_db.h, which is in dbm/

dbm/ is not searched when you use "pkg-config --cflags mozilla-nss"

Comment 1 Christopher Aillon 2005-03-31 11:17:01 UTC
wtc, thoughts?

Comment 2 Wan-Teh Chang 2005-03-31 18:51:43 UTC
The bug description is a little terse for me,
so my comments may be a little off.

In recent versions of NSS, cdbhdl.h is a private
header file that is only used by files in the
mozilla/security/nss/lib/softoken directory.
cdbhdl.h should not be included in the NSS "devel"
package because NSS users don't need this header
file.

There is no need to release a dbm "devel" package
because NSS's "softoken" shared library is statically
linked with dbm.  In other words, dbm can be considered
an internal component of NSS even though in the Mozilla
source tree dbm lives outside NSS.

mcom_db.h doesn't need to be included in the NSS
"devel" package, either.  There is one exception: NSS
allows alternative cert and key database plugin (the
"rdb" shared library), and cert/key database
plugin implementors need the mcom_db.h file.

Bob Relyea and I should review the contents of the
NSS "devel" package.

Comment 3 Bill Nottingham 2005-03-31 19:08:52 UTC
Where it came from was a program (mutt) that had NSS code that tried to include
cdbhdl.h. (It didn't build anyway for other reasons.)

Comment 4 Wan-Teh Chang 2005-03-31 19:21:23 UTC
Does mutt have code that uses NSS, or code copied from
NSS?  If the former, the code shouldn't need to include
cdbhdl.h.

Comment 5 Bill Nottingham 2005-03-31 19:34:13 UTC
It uses NSS (or, at least, tries to.)

Comment 6 Bob Relyea 2005-03-31 21:14:08 UTC
Sounds like it's trying to include private NSS headers if it's getting cdbhdl.h.
Is there something Mutt is doing that it can't get to from the public API, or
was the public API just not clear. (or, alternately, what the public API was was
not clear;).

bob

Comment 7 Bill Nottingham 2005-03-31 22:05:04 UTC
Put it this way: once the includes are fixed, the mutt code doesn't even build
with current NSS. Hence, I'm guessing it was doing something wrong to begin
with, or was based on really ancient code. I haven't done much work trying to
fix the NSS support yet - for now, it's still built with openssl.

Comment 8 Matěj Cepl 2008-02-08 16:17:50 UTC
Since this bugzilla report was filed, we have seriously upgraded Gecko-related
packages in Rawhide, which may have resolved this issue. Users who have
experienced this problem are encouraged to upgrade their system to the latest
version of their distribution available.

Closing this bug as CANTFIX. Please, reopen, if this bug is still reproducable
on the latest update of your distribution.

[This is mass-closing of bugs which seem to be too old and irrelevant anymore;
we are sorry, if we are closing your bug in mistake; please, don't hesitate to
reopen, if it is still alive issue.]