I am compiling under gcc 4.4.7, and the build aborts with the following errors:
In file included from crypto/cmp/cmp_asn.c:72:
include/openssl/crmf.h:149: error: redefinition of typedef 'CRMF_CERTTEMPLATE'
include/openssl/crmf.h:104: note: previous declaration of 'CRMF_CERTTEMPLATE' was here
In file included from crypto/cmp/cmp_asn.c:74:
crypto/cmp/cmp_int.h:126: error: redefinition of typedef 'CMP_CTX'
include/openssl/cmp.h:252: note: previous declaration of 'CMP_CTX' was here
crypto/cmp/cmp_int.h:235: error: redefinition of typedef 'CMP_INFOTYPEANDVALUE'
include/openssl/cmp.h:256: note: previous declaration of 'CMP_INFOTYPEANDVALUE' was here
crypto/cmp/cmp_int.h:275: error: redefinition of typedef 'CMP_PKISTATUSINFO'
include/openssl/cmp.h:259: note: previous declaration of 'CMP_PKISTATUSINFO' was here
crypto/cmp/cmp_int.h:315: error: redefinition of typedef 'CMP_REVREPCONTENT'
include/openssl/cmp.h:258: note: previous declaration of 'CMP_REVREPCONTENT' was here
crypto/cmp/cmp_int.h:363: error: redefinition of typedef 'CMP_CERTSTATUS'
include/openssl/cmp.h:255: note: previous declaration of 'CMP_CERTSTATUS' was here
crypto/cmp/cmp_int.h:387: error: redefinition of typedef 'CMP_CERTRESPONSE'
include/openssl/cmp.h:261: note: previous declaration of 'CMP_CERTRESPONSE' was here
crypto/cmp/cmp_int.h:400: error: redefinition of typedef 'CMP_CERTREPMESSAGE'
include/openssl/cmp.h:260: note: previous declaration of 'CMP_CERTREPMESSAGE' was here
crypto/cmp/cmp_int.h:519: error: redefinition of typedef 'CMP_PKIHEADER'
include/openssl/cmp.h:253: note: previous declaration of 'CMP_PKIHEADER' was here
In file included from crypto/cmp/cmp_asn.c:74:
crypto/cmp/cmp_int.h:670: error: redefinition of typedef 'CMP_PKIMESSAGE'
include/openssl/cmp.h:254: note: previous declaration of 'CMP_PKIMESSAGE' was here
However, gcc 4.6.3 seems to tolerate this (that's the one with Ubuntu 12.04)
Good point. I had not seen this before but have been able to reproduce this with gcc (SUSE Linux) 4.8.5 with the -pendantic option.
The redundant typedefs were due to forward declarations for these structure types in cmp.h - this is going to be fixed soon.
Last edit: David von Oheimb 2017-05-24
Fixed in GIT revision c73ae5df0a - now commited to the CMP branch.
Thanks for reporting.