RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 676387 - Missing include in nss-softokn-freebl-devel subpackage of nss-softokn
Summary: Missing include in nss-softokn-freebl-devel subpackage of nss-softokn
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: nss-softokn
Version: 6.1
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Elio Maldonado Batiz
QA Contact: Aleš Mareček
URL:
Whiteboard:
Depends On: 675196
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-02-09 17:19 UTC by Elio Maldonado Batiz
Modified: 2013-06-11 13:54 UTC (History)
5 users (show)

Fixed In Version: nss-3.12.9-3.el6, nss-softokn-3.12.9-2.el6
Doc Type: Bug Fix
Doc Text:
Clone Of: 675196
Environment:
Last Closed: 2011-05-19 14:03:54 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
add missing header to the proper places the spec file (1.83 KB, patch)
2011-02-09 17:38 UTC, Elio Maldonado Batiz
rrelyea: review+
Details | Diff
V2: blapit.h is now in the nss-softokn-freebl-devel file list. (1.90 KB, patch)
2011-02-11 22:58 UTC, Elio Maldonado Batiz
no flags Details | Diff
V3 - proposed changes revised (change logs not included) (2.70 KB, patch)
2011-02-15 18:41 UTC, Elio Maldonado Batiz
rrelyea: review+
Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0692 0 normal SHIPPED_LIVE nspr, nss, nss-softokn, and nss-util bug fix and enhancement update 2011-05-19 09:37:17 UTC

Description Elio Maldonado Batiz 2011-02-09 17:19:26 UTC
+++ This bug was initially created as a clone of Bug #675196 +++

Description of problem:

The package nss-util-devel is missing at least one include file:

/usr/include/nss3/seccomon.h:51:21: fatal error: prtypes.h: No such file or directory

Version-Release number of selected component (if applicable):

#rpm -q --whatprovides /usr/include/nss3/seccomon.h 
nss-util-devel-3.12.9-1.fc14.x86_64

--- Additional comment from emaldona on 2011-02-04 11:51:19 EST ---

prtypes.h is part is provided by nspr-devel
# rpm -ql nspr-devel | grep prtypes.h
/usr/include/nspr4/prtypes.h

which is required by nss-util-devel
#rpm -q --whatrequires nspr-devel
xulrunner-devel-1.9.2.13-5.fc14.x86_64
nss-util-devel-3.12.9-1.fc14.x86_64
nss-softokn-devel-3.12.9-1.fc14.x86_64
nss-devel-3.12.9-1.fc14.x86_64

--- Additional comment from stefanb.com on 2011-02-04 11:59:15 EST ---

Let me be more specific:

In file included from /usr/include/nss3/blapit.h:46:0,
                 from /usr/include/nss3/blapi.h:45,
                 from test.c:52:
/usr/include/nss3/seccomon.h:51:21: fatal error: prtypes.h: No such file or directory

seccommon.h shows this here:

[...]
#ifndef _SECCOMMON_H_
#define _SECCOMMON_H_

#include "utilrename.h"
#include "prtypes.h"

[...]

I believe it expects prtypes.h to be found in nss3, no?

--- Additional comment from emaldona on 2011-02-04 12:24:14 EST ---

No, it actually expects the file to be found in nspr4, as in
/usr/include/nspr4/prtypes.h

--- Additional comment from stefanb.com on 2011-02-04 12:28:52 EST ---

In a next step I added -I/usr/include/nspr4 to gcc for inclusion of the needed path leads to:

/usr/include/nss3/blapi.h:47:21: fatal error: alghmac.h: No such file or directory

I cannot 'find | grep alghmac' in /usr/include...

Once the #include of this file is commented, I can compile. It would be great if the development packages could be fixed.

--- Additional comment from emaldona on 2011-02-04 13:00:07 EST ---

/usr/include/nss3/blapi.h is a private header of the freebl library in nss-soften-devel and nss-util and its nss-util-devel do not depend on anything in the rest of nss or nss-softokn. They are the lower level common utilities required both nss and nss-softoken. nss depends on nss-softokn and nss-util
The freebl headers are as a rule private to the crypto module, with very few limited exceptional cases.

--- Additional comment from stefanb.com on 2011-02-04 13:19:05 EST ---

Assuming I wanted to link against -lfreebl and use the function RNG_RNGInit(). Where am I going to get its prototype from other than including nss3/blapi.h ?

--- Additional comment from emaldona on 2011-02-04 13:40:16 EST ---

nss-softoken-freebl-devel (subpackage of nss-softokn) provides you that header. 
#rpm -ql nss-softokn-freebl-devel
/usr/include/nss3/blapi.h
/usr/lib64/libfreebl.a

--- Additional comment from stefanb.com on 2011-02-04 13:52:03 EST ---

I know that. See above in comment 4 the error that I am getting when including blapi.h. alghmac.h is missing.

--- Additional comment from emaldona on 2011-02-04 14:19:07 EST ---

I see alghmac.h listed as one of freebl's private exports in mozilla/security/nss/lib/freebl/maninifest.mn
...
PRIVATE_EXPORTS = \
	alghmac.h \
...
It does show up in mozilla/dist/nss/private. 
It does not appear listed in the nss-softokn.spec (or nss.spec) so it doesn't copied to /usr/include/nss3 along with other private headers. This may be fixable. 

Could you do me a favor? Manually copy alghmac.h into /usr/include/nss3 and try to compile your project. Before I add it to the list let me see what else it pulls in. I would hate to trigger a chain reaction of headers being brought in.

--- Additional comment from emaldona on 2011-02-04 16:10:05 EST ---

alghmac.h doesn't include anything else and that's promising
Let me know if these scratch builds of nss-softokn and nss
http://koji.fedoraproject.org/koji/taskinfo?taskID=2762816
http://koji.fedoraproject.org/koji/taskinfo?taskID=2762830
work for you.

--- Additional comment from stefanb.com on 2011-02-04 16:38:01 EST ---

Installing

nss-softokn-freebl-3.12.9-2.fc14.x86_64.rpm
nss-softokn-freebl-devel-3.12.9-2.fc14.x86_64.rpm

from these builds did the trick for me.

--- Additional comment from updates on 2011-02-04 17:28:53 EST ---

nss-softokn-3.12.9-2.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/nss-softokn-3.12.9-2.fc14

--- Additional comment from stefanb.com on 2011-02-04 19:09:03 EST ---

Unless done anyway, please submit

nss-softokn-freebl-3.12.9-2.fc14.x86_64.rpm
nss-softokn-freebl-devel-3.12.9-2.fc14.x86_64.rpm

rather than (only)

nss-softokn-3.12.9-2.fc14 

as an update.

--- Additional comment from emaldona on 2011-02-04 19:22:21 EST ---

nss-softokn-freebl and nss-softokn-freebl-devel can't be submitted by themselves. They are mere sub-packages of the nss-softokn package so it's the latter that gets submitted.

--- Additional comment from updates on 2011-02-05 17:21:40 EST ---

nss-softokn-3.12.9-2.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update nss-softokn'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/nss-softokn-3.12.9-2.fc14

--- Additional comment from updates on 2011-02-06 15:20:33 EST ---

nss-softokn-3.12.9-2.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 1 Elio Maldonado Batiz 2011-02-09 17:23:19 UTC
This doesn't not involve any code changes, it's is strictly a packaging bug. It's solved by adding the needed header to the list of files to include in the spec file.

Comment 3 Elio Maldonado Batiz 2011-02-09 17:38:36 UTC
Created attachment 477871 [details]
add missing header to the proper places the spec file

Comment 4 Elio Maldonado Batiz 2011-02-11 17:36:32 UTC
stefanb suggested adding to nss-softoken-devel a dependency on nss-softokn-devel
I think it would be something like
Requires:         nss-softokn-devel%{?_isa} = %{version}-%{release}
or maybe
BuildRequires:    nss-softokn-devel%{?_isa} = %{version}-%{release}

Comment 5 Bob Relyea 2011-02-11 18:10:07 UTC
I think you mean : stefanb suggested adding to nss-softokn-freebl-devel a dependency on nss-softokn-devel.

I think that is incorrect, unless we mistakenly have headers in softokn that are included by freebl. The real dependency is the other way around (nss-softokn and nss-sofokn-devel depend on nss-softokn-freebl and nss-softokn-freebl-devel respectively).

bob

Comment 6 Bob Relyea 2011-02-11 18:17:05 UTC
Comment on attachment 477871 [details]
add missing header to the proper places the spec file

r+

Comment 7 Stefan Berger 2011-02-11 18:36:03 UTC
What you say in 5 what stefanb means is correct. Let me show:

#> rpm -q --whatprovides /usr/include/nss3/blapi.h
nss-softokn-freebl-devel-3.12.9-2.fc14.x86_64

In blapi.h the following is found


[...]
#ifndef _BLAPI_H_
#define _BLAPI_H_

#include "blapit.h"
#include "hasht.h"
#include "alghmac.h"
[...]


Let me check what provides blapit.h ...

->  rpm -q --whatprovides /usr/include/nss3/blapit.h
nss-softokn-devel-3.12.9-2.fc14.x86_64


I conclude freebl-devel has a dependency on nss-softokn-devel, yet I can do:


root@d941e-5 patches]# yum remove nss-softokn-devel
Loaded plugins: fastestmirror, presto, refresh-packagekit
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package nss-softokn-devel.x86_64 0:3.12.9-2.fc14 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================
 Package                      Arch              Version                   Repository           Size
====================================================================================================
Removing:
 nss-softokn-devel            x86_64            3.12.9-2.fc14             @updates             52 k

Transaction Summary
====================================================================================================
Remove        1 Package(s)

Installed size: 52 k


I would expect nss-softokn-devel also to uninstall nss-softokn-freebl-devel.

Comment 8 Bob Relyea 2011-02-11 18:49:03 UTC
> ->  rpm -q --whatprovides /usr/include/nss3/blapit.h
> nss-softokn-devel-3.12.9-2.fc14.x86_64

Sigh, that should have been in nss-softokn-freebl-devel, not nss-softoken-devel


bob

Comment 9 Elio Maldonado Batiz 2011-02-11 22:58:36 UTC
Created attachment 478325 [details]
V2: blapit.h is now in the nss-softokn-freebl-devel file list.

Comment 10 Elio Maldonado Batiz 2011-02-11 23:16:22 UTC
Caveat: By making nss-softokn-freebl-devel the owner of blaphit.h, could we be introducing an implied dependency of nss-softokn-devel on nss-softokn-freebl? I find such a dependency undesirable since when it was a goal not do so and keep nss-softokn-freebl-devel a strictly optional. 

I'll test this in fedora first. Stefan, you are welcome to join me. I'll point you to a fedora scratch build.

Comment 11 Elio Maldonado Batiz 2011-02-15 18:41:10 UTC
Created attachment 478944 [details]
V3 -  proposed changes revised (change logs not included)

Expanded freel-devel description, added another requires, and concatenated associated patch for nss spec to take due nss-pkcs11-devel's dependency as Bob pointed out.

Comment 12 Elio Maldonado Batiz 2011-02-15 18:47:09 UTC
Comment on attachment 478944 [details]
V3 -  proposed changes revised (change logs not included)

Expanded description for freebl-devel, added a requires, and concatenated nss spec change to account for pkcs11-devel dependency as Bob pointed out.

Comment 13 Elio Maldonado Batiz 2011-02-15 18:55:43 UTC
Comment on attachment 478944 [details]
V3 -  proposed changes revised (change logs not included)

Combined hanges for nss-softokn and nss spec files. Exanded freebl-devel description, added devel dependency on freebl-devel due to blapit.h's "adoption" by freebl-devel, and added needed pkcs11-devel requires as Bob has pointed out.

Comment 14 Bob Relyea 2011-02-17 00:32:21 UTC
Comment on attachment 478944 [details]
V3 -  proposed changes revised (change logs not included)

r+ thanks for sussing this out.

Comment 15 Elio Maldonado Batiz 2011-02-17 04:59:47 UTC
Correction: in nss.spec for %package pkcs11-devel, the line
Requires: nss-softokn-pkcs11-devel = %{version}-%{release}
should have been
Requires: nss-softokn-freel-devel = %{version}-%{release}
as this one now provides the blapit.h header that nss-pks11-devel needs.

Comment 16 Elio Maldonado Batiz 2011-02-17 05:01:19 UTC
Bad fingers: s/freel/freebl/

Comment 17 Elio Maldonado Batiz 2011-02-17 17:08:02 UTC
Comment on attachment 478944 [details]
V3 -  proposed changes revised (change logs not included)

Since nss and nss-softokn keep their own versions, the requires for pk11-devel must be
>+Requires:         nss-softokn-freebl-devel = %{nss_softokn_version}

Comment 20 Stefan Berger 2011-04-14 18:07:09 UTC
I am using nss-config --cflags now to determine the additional cflags necessary for freebl includes (/usr/include/nss3). The nss-config tool comes with nss-devel. The issue is that the dependencies don't reach that far that when I require nss-softokn-freebl-devel that automatically nss-devel becomes a dependency.

Comment 21 errata-xmlrpc 2011-05-19 14:03:54 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0692.html


Note You need to log in before you can comment on or make changes to this bug.