Message ID | 1430983149-22199-1-git-send-email-vapier@gentoo.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi, On Thu, May 07, Mike Frysinger wrote: > Starting with commit d5259e751111cb108c784b044296185f543fc0be (Add header > definitions for rpc_gss_*() APIs), the gss headers were pulled in all the > time leading to build failures like so: > CC libtirpc_la-bindresvport.lo > In file included from ../tirpc/rpc/svc_auth.h:44:0, > from ../tirpc/rpc/rpc.h:68, > from bindresvport.c:46: > ../tirpc/rpc/rpcsec_gss.h:38:27: fatal error: gssapi/gssapi.h: No such file or directory This will not work since this headers will be installed in /usr/include and other appliations compiled against libtirpc will never define HAVE_RPCSEC_GSS, thus never see this interfaces. We need something like the glibc features.h file, which will always be included and defines, how tirpc was configured. Thorsten > Signed-off-by: Mike Frysinger <vapier@gentoo.org> > --- > tirpc/rpc/svc_auth.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/tirpc/rpc/svc_auth.h b/tirpc/rpc/svc_auth.h > index 44b38bf..998b13a 100644 > --- a/tirpc/rpc/svc_auth.h > +++ b/tirpc/rpc/svc_auth.h > @@ -41,6 +41,8 @@ > #ifndef _RPC_SVC_AUTH_H > #define _RPC_SVC_AUTH_H > > +#ifdef HAVE_RPCSEC_GSS > + > #include <rpc/rpcsec_gss.h> > > typedef struct { > @@ -51,6 +53,8 @@ typedef struct { > u_int seq_num; > } svc_rpc_gss_parms_t; > > +#endif > + > /* > * Interface to server-side authentication flavors. > */ > @@ -63,8 +67,10 @@ typedef struct SVCAUTH { > int (*svc_ah_destroy)(struct SVCAUTH *); > } *svc_ah_ops; > caddr_t svc_ah_private; > +#ifdef HAVE_RPCSEC_GSS > svc_rpc_gss_parms_t svc_gss_params; > rpc_gss_rawcred_t raw_cred; > +#endif > } SVCAUTH; > > #define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere) \ > -- > 2.4.0 > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > Libtirpc-devel mailing list > Libtirpc-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/libtirpc-devel
On 07 May 2015 09:40, Thorsten Kukuk wrote: > On Thu, May 07, Mike Frysinger wrote: > > Starting with commit d5259e751111cb108c784b044296185f543fc0be (Add header > > definitions for rpc_gss_*() APIs), the gss headers were pulled in all the > > time leading to build failures like so: > > CC libtirpc_la-bindresvport.lo > > In file included from ../tirpc/rpc/svc_auth.h:44:0, > > from ../tirpc/rpc/rpc.h:68, > > from bindresvport.c:46: > > ../tirpc/rpc/rpcsec_gss.h:38:27: fatal error: gssapi/gssapi.h: No such file or directory > > This will not work since this headers will be installed in > /usr/include and other appliations compiled against libtirpc > will never define HAVE_RPCSEC_GSS, thus never see this interfaces. > > We need something like the glibc features.h file, which will always > be included and defines, how tirpc was configured. this is what tirpc/rpc/rpc.h is already doing ... -mike
On Thu, May 07, Mike Frysinger wrote: > On 07 May 2015 09:40, Thorsten Kukuk wrote: > > On Thu, May 07, Mike Frysinger wrote: > > > Starting with commit d5259e751111cb108c784b044296185f543fc0be (Add header > > > definitions for rpc_gss_*() APIs), the gss headers were pulled in all the > > > time leading to build failures like so: > > > CC libtirpc_la-bindresvport.lo > > > In file included from ../tirpc/rpc/svc_auth.h:44:0, > > > from ../tirpc/rpc/rpc.h:68, > > > from bindresvport.c:46: > > > ../tirpc/rpc/rpcsec_gss.h:38:27: fatal error: gssapi/gssapi.h: No such file or directory > > > > This will not work since this headers will be installed in > > /usr/include and other appliations compiled against libtirpc > > will never define HAVE_RPCSEC_GSS, thus never see this interfaces. > > > > We need something like the glibc features.h file, which will always > > be included and defines, how tirpc was configured. > > this is what tirpc/rpc/rpc.h is already doing ... Ok, I haven't seen that this is already broken :( Means we need a solution how to provide this defines asap. Thorsten
diff --git a/tirpc/rpc/svc_auth.h b/tirpc/rpc/svc_auth.h index 44b38bf..998b13a 100644 --- a/tirpc/rpc/svc_auth.h +++ b/tirpc/rpc/svc_auth.h @@ -41,6 +41,8 @@ #ifndef _RPC_SVC_AUTH_H #define _RPC_SVC_AUTH_H +#ifdef HAVE_RPCSEC_GSS + #include <rpc/rpcsec_gss.h> typedef struct { @@ -51,6 +53,8 @@ typedef struct { u_int seq_num; } svc_rpc_gss_parms_t; +#endif + /* * Interface to server-side authentication flavors. */ @@ -63,8 +67,10 @@ typedef struct SVCAUTH { int (*svc_ah_destroy)(struct SVCAUTH *); } *svc_ah_ops; caddr_t svc_ah_private; +#ifdef HAVE_RPCSEC_GSS svc_rpc_gss_parms_t svc_gss_params; rpc_gss_rawcred_t raw_cred; +#endif } SVCAUTH; #define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere) \
Starting with commit d5259e751111cb108c784b044296185f543fc0be (Add header definitions for rpc_gss_*() APIs), the gss headers were pulled in all the time leading to build failures like so: CC libtirpc_la-bindresvport.lo In file included from ../tirpc/rpc/svc_auth.h:44:0, from ../tirpc/rpc/rpc.h:68, from bindresvport.c:46: ../tirpc/rpc/rpcsec_gss.h:38:27: fatal error: gssapi/gssapi.h: No such file or directory Signed-off-by: Mike Frysinger <vapier@gentoo.org> --- tirpc/rpc/svc_auth.h | 6 ++++++ 1 file changed, 6 insertions(+)