This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: compilation error related to nss for latest source code
- From: Wenji Huang <wenji dot huang at oracle dot com>
- To: "wenji dot huang at oracle dot com" <wenji dot huang at oracle dot com>
- Cc: "systemtap at sourceware dot org" <systemtap at sourceware dot org>
- Date: Fri, 16 Oct 2009 10:53:39 +0800
- Subject: Re: compilation error related to nss for latest source code
- References: <20091015102054781.00000001852@ETSD-Ora-lap2>
- Reply-to: wenji dot huang at oracle dot com
Wenji Huang wrote:
Hi,
The commit "PR10331: improve nss error message handling" refers to two constants
SEC_ERROR_BAD_INFO_ACCESS_METHOD and SEC_ERROR_CRL_IMPORT_FAILED
those are defined on NSS 3.12.4 release on Aug 20th, 2009, see
https://developer.mozilla.org/NSS_3.12.4_release_notes
Since those constants are encapsulated in typedef enum, #ifdef won't
detect them very well. The commit "PR10331: build fix for older nss"
can't fix the problem, suggest the following workaround although it's
not the best solution.
diff --git a/stapsslerr.h b/stapsslerr.h
index 8202215..3d8e13e 100644
--- a/stapsslerr.h
+++ b/stapsslerr.h
@@ -312,9 +312,7 @@ NSSYERROR(SEC_ERROR_LIBPKIX_INTERNAL,"Libpkix
internal error occurred during cer
NSSYERROR(SEC_ERROR_PKCS11_GENERAL_ERROR,"A PKCS #11 module returned
CKR_GENERAL_ERROR, indicating that an unrecoverable error has occurred.");
NSSYERROR(SEC_ERROR_PKCS11_FUNCTION_FAILED,"A PKCS #11 module returned
CKR_FUNCTION_FAILED, indicating that the requested function could not be
performed.Trying the same operation again might succeed.");
NSSYERROR(SEC_ERROR_PKCS11_DEVICE_ERROR,"A PKCS #11 module returned
CKR_DEVICE_ERROR, indicating that a problem has occurred with the token
or slot.");
-#ifdef SEC_ERROR_BAD_INFO_ACCESS_METHOD
+#if NSS_VMAJOR > 3 || (NSS_VMAJOR == 3 && NSS_VMINOR > 12) ||
(NSS_VMAJOR == 3 && NSS_VMINOR == 12 && NSS_VPATCH >= 4)
NSSYERROR(SEC_ERROR_BAD_INFO_ACCESS_METHOD,"Unknown information access
method in certificate extension.");
-#endif
-#ifdef SEC_ERROR_CRL_IMPORT_FAILED
NSSYERROR(SEC_ERROR_CRL_IMPORT_FAILED,"Error attempting to import a
CRL.");
#endif