Menu

#32 Build fails under certain compilers

v1.0 (example)
closed-fixed
nobody
e0e35d (2)
5
2017-06-02
2017-04-27
No

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)

Discussion

  • David von Oheimb

    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
  • Martin Peylo

    Martin Peylo - 2017-06-02
    • status: open --> closed-fixed
     
  • Martin Peylo

    Martin Peylo - 2017-06-02

    Fixed in GIT revision c73ae5df0a - now commited to the CMP branch.

    Thanks for reporting.

     

Log in to post a comment.