cvs commit: src Makefile.inc1 src/crypto/openssh sshd.c src/etc Makefile src/etc/gss Makefile mech qop src/etc/mtree BSD.include.dist BSD.root.dist src/gnu/usr.bin/cvs/cvs Makefile src/include Makefile gssapi.h src/include/gssapi Makefile gssapi.h ...

Bjoern A. Zeeb bz at FreeBSD.org
Sun Jan 1 00:45:11 PST 2006


On Thu, 29 Dec 2005, Doug Rabson wrote:

> dfr         2005-12-29 14:40:22 UTC
>
>  FreeBSD src repository
>
>  Modified files:
>    .                    Makefile.inc1
>    crypto/openssh       sshd.c
>    etc                  Makefile
>    etc/mtree            BSD.include.dist BSD.root.dist
>    gnu/usr.bin/cvs/cvs  Makefile
>    include              Makefile
>    kerberos5/lib/libgssapi Makefile
>    lib                  Makefile
>    secure/lib/libssh    Makefile
>    secure/usr.bin/ssh   Makefile
>    secure/usr.sbin/sshd Makefile
>    tools                make_libdeps.sh
>  Added files:
>    etc/gss              Makefile mech qop
>    include              gssapi.h
>    include/gssapi       Makefile gssapi.h
>    lib/libgssapi        Makefile context.h cred.h
...
>  Log:
>  Add a new extensible GSS-API layer which can support GSS-API plugins,
>  similar the the Solaris implementation. Repackage the krb5 GSS mechanism
>  as a plugin library for the new implementation. This also includes a
>  comprehensive set of manpages for the GSS-API functions with text mostly
>  taken from the RFC.


On Sat, 31 Dec 2005, FreeBSD Tinderbox still wrote:

>>>> stage 5.1: building 32 bit shim libraries
> [...]
> /src/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:385: error: dereferencing pointer to incomplete type
> /src/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:395: error: dereferencing pointer to incomplete type
> /src/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:415: error: dereferencing pointer to incomplete type
> /src/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:431: error: dereferencing pointer to incomplete type
> /src/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:432: error: dereferencing pointer to incomplete type
> /src/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:434: error: dereferencing pointer to incomplete type
> /src/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:435: error: dereferencing pointer to incomplete type
> /src/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:437: error: dereferencing pointer to incomplete type
> *** Error code 1
>
> Stop in /src/kerberos5/lib/libgssapi.
> *** Error code 1

Ok, the problem with this seems to be -I ordering.
Building world it starts with -I.../crypto/heimdal/lib/gssapi but building
lib32 has -I.../lib32/usr/include  first which makes #include <gssapi.h> select
the one in usr/include/ which gives the deprecated warning and we include the
gssapi.h from gssapi/gssapi.h (the one from lib/libgssapi):


===> kerberos5/lib/libgssapi (all)
...
cc -O2 -fno-strict-aliasing -pipe  -I/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi -I/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/krb5  -I/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/asn1 -I/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/roken -I. -DHAVE_CONFIG_H -I/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../include -DINET6 -g  -c /local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c


===> kerberos5/lib/libgssapi (all)
...
cc -m32 -march=k8 -mfancy-math-387 -DCOMPAT_32BIT  -I/usr/obj/local/building/freebsd/HEAD/lib32/usr/include  -L/usr/obj/local/building/freebsd/HEAD/lib32/usr/lib32  -B/usr/obj/local/building/freebsd/HEAD/lib32/usr/lib32 -O2 -fno-strict-aliasing -pipe -I/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi -I/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/krb5  -I/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/asn1 -I/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/roken -I. -DHAVE_CONFIG_H -I/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../include -DINET6 -g  -c /local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c
In file included from /local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/gssapi_locl.h:44,
                  from /local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:34:
/usr/obj/local/building/freebsd/HEAD/lib32/usr/include/gssapi.h:3:2: warning: #warning "this file includes <gssapi.h> which is deprecated, use <gssapi/gssapi.h> instead"
/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c: In function `gss_accept_sec_context':
/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:98: error: `GSS_KRB5_MECHANISM' undeclared (first use in this function)
/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:98: error: (Each undeclared identifier is reported only once
/local/building/freebsd/HEAD/kerberos5/lib/libgssapi/../../../crypto/heimdal/lib/gssapi/accept_sec_context.c:98: error: for each function it appears in.)




I haven't found any other "easy solution" for now then following change (which
I really do not like because of taking file off branch). Anyone with a better idea?
A make universe would be good to make sure this does not break anything else and
actually solves the problem for lib32 ;)


Index: crypto/heimdal/lib/gssapi/gssapi_locl.h
===================================================================
RCS file: /shared/mirror/FreeBSD/r/ncvs/src/crypto/heimdal/lib/gssapi/gssapi_locl.h,v
retrieving revision 1.1.1.7
diff -u -p -r1.1.1.7 gssapi_locl.h
--- crypto/heimdal/lib/gssapi/gssapi_locl.h     3 Apr 2004 21:21:14 -0000       1.1.1.7
+++ crypto/heimdal/lib/gssapi/gssapi_locl.h     1 Jan 2006 05:51:22 -0000
@@ -41,7 +41,7 @@
  #endif

  #include <krb5_locl.h>
-#include <gssapi.h>
+#include "gssapi.h"
  #include <assert.h>

  #include "arcfour.h"


-- 
Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT


More information about the cvs-all mailing list