Zeqing, I think your issues is covered here. ---------- Forwarded message ---------- From: Hai Zaar <haizaar@gmail.com> Date: Aug 28, 2007 9:02 AM Subject: Re: heimdal-1.0.1 and C++ - compilation fails To: Love Hörnquist Åstrand <lha@kth.se> Cc: heimdal-discuss@sics.se On 8/27/07, Love Hörnquist Åstrand <lha@kth.se> wrote: > lib/krb5/krb5-protos.h and lib/krb5-private.h are both built header > files w/o depency-tracking, just remove them and have them rebuilt > (requires perl). Ok. Now I can finally compile heimdal itself and my c++ program compiles correctly as well. Many thanks, Love! So summarize: Attached is the complete patch related to the issue (commit 21929 and 21934) Usage: * apply the patch * run configure, etc... * rm -rf lib/krb5/{krb5-private.h,krb5-protos.h} * make > > Love > > > > 27 aug 2007 kl. 17.19 skrev Hai Zaar: > > > heimdal fails to compile: > > pac.c:711: error: conflicting types for 'krb5_pac_verify' > > ./krb5-protos.h:2850: error: previous declaration of > > 'krb5_pac_verify' was here > > pac.c:711: error: conflicting types for 'krb5_pac_verify' > > ./krb5-protos.h:2850: error: previous declaration of > > 'krb5_pac_verify' was here > > > > Also there is a warning: > > In file included from ./krb5.h:775, > > from krb5_locl.h:153, > > from pac.c:34: > > ./krb5-protos.h:2810: warning: "struct krb5_pac" declared inside > > parameter list > > ./krb5-protos.h:2810: its scope is only this definition or > > declaration, which is probably not what you want > > ./krb5-protos.h:2815: warning: "struct krb5_pac" declared inside > > parameter list > > ./krb5-protos.h:2822: warning: "struct krb5_pac" declared inside > > parameter list > > ./krb5-protos.h:2829: warning: "struct krb5_pac" declared inside > > parameter list > > ./krb5-protos.h:2834: warning: "struct krb5_pac" declared inside > > parameter list > > ./krb5-protos.h:2841: warning: "struct krb5_pac" declared inside > > parameter list > > ./krb5-protos.h:2850: warning: "struct krb5_pac" declared inside > > parameter list > > In file included from krb5_locl.h:159, > > from pac.c:34: > > ./krb5-private.h:300: warning: "struct krb5_pac" declared inside > > parameter list > > > > > > > > On 8/27/07, Love Hörnquist Åstrand <lha@kth.se> wrote: > >> Ok, fixed those too: > >> > >> http://loka.it.su.se/fisheye/changelog/heimdal/?cs=21934 > >> > >> Love > >> > >> > >> 27 aug 2007 kl. 16.07 skrev Hai Zaar: > >> > >>> Yes, but its not enough - besides krb5_digest and krb5_ntlm I get > >>> similar complains about: > >>> krb5_pac > >>> krb5_rd_req_in_ctx > >>> krb5_rd_req_out_ctx > >>> krb5_sendto_ctx > >>> > >>> On 8/27/07, Love Hörnquist Åstrand <lha@kth.se> wrote: > >>>>> /usr/include/krb5.h:79: error: conflicting declaration 'typedef > >>>>> krb5_digest*krb5_digest' > >>>>> > >>>>> Is it a bug or a feature? - I do want to use kerberos includes in > >>>>> my C++ code. > >>>> > >>>> Its a bug, http://people.su.se/~lha/patches/heimdal/krb5-digest- > >>>> cplusplus.txt should fix your problem. > >>>> > >>>> Love > >>>> > >>>> > >>>> > >>> > >>> > >>> -- > >>> Zaar > >> > >> > > > > > > -- > > Zaar > > -- Zaar -- Zaar
heimdal-1.0.1-cplusplus-compat-1.patch