Previously in bug 191746 due to the changeover from app-crypt/libgssapi to net-libs/libgssglue. the package net-fs/nfs-utils had some problems. A new problem has come up. When building net-fs/nfs-utils 1.0.12-r1 to 1.1.0-r1 with the kerberos flag on always comes up with this error (in more detail below): rpc/auth_gss.h: No such file or directory Tried on AMD64 and X86 stable I have also tried 1.1.1 with unstable. The error area: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../support/include -I../../support/include -D_GNU_SOURCE -Wall -pipe -march=pentium4 -mtune=pentium4 -O2 -pipe -fomit-frame-pointer -march=pentium4 -mtune=pentium4 -O2 -pipe -fomit-frame-pointer -MT gssd-context_lucid.o -MD -MP -MF .deps/gssd-context_lucid.Tpo -c -o gssd-context_lucid.o `test -f 'context_lucid.c' || echo './'`context_lucid.c context.c:37:26: error: rpc/auth_gss.h: No such file or directory make[2]: *** [gssd-context.o] Error 1 make[2]: *** Waiting for unfinished jobs.... mv -f .deps/gssd-context_heimdal.Tpo .deps/gssd-context_heimdal.Po In file included from gss_util.h:36, from context_lucid.c:43: write_bytes.h:54: error: expected declaration specifiers or '...' before 'gss_buffer_desc' write_bytes.h: In function 'write_buffer': write_bytes.h:56: error: 'arg' undeclared (first use in this function) write_bytes.h:56: error: (Each undeclared identifier is reported only once write_bytes.h:56: error: for each function it appears in.) write_bytes.h: At top level: write_bytes.h:67: error: expected declaration specifiers or '...' before 'gss_OID_desc' write_bytes.h: In function 'write_oid': write_bytes.h:69: error: 'arg' undeclared (first use in this function) write_bytes.h: At top level: write_bytes.h:93: error: expected declaration specifiers or '...' before 'gss_buffer_desc' write_bytes.h: In function 'get_buffer': write_bytes.h:100: error: 'res' undeclared (first use in this function) write_bytes.h: At top level: write_bytes.h:121: error: expected declaration specifiers or '...' before 'gss_buffer_desc' write_bytes.h: In function 'xdr_get_buffer': write_bytes.h:128: error: 'res' undeclared (first use in this function) write_bytes.h: At top level: write_bytes.h:149: error: expected declaration specifiers or '...' before 'gss_buffer_desc' write_bytes.h: In function 'xdr_write_buffer': write_bytes.h:151: error: 'arg' undeclared (first use in this function) In file included from context_lucid.c:43: gss_util.h: At top level: gss_util.h:38: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'gssd_creds' gss_util.h:42: warning: type defaults to 'int' in declaration of 'gss_OID' gss_util.h:42: error: expected ';', ',' or ')' before 'mech' In file included from context_lucid.c:44: gss_oids.h:36: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'krb5oid' gss_oids.h:37: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'spkm3oid' In file included from context_lucid.c:46: context.h:40: error: expected ')' before 'ctx' context.h:42: error: expected ')' before 'ctx' context.h:43: error: expected ')' before 'ctx' context_lucid.c: In function 'write_lucid_keyblock': context_lucid.c:63: error: too many arguments to function 'write_buffer' context_lucid.c: In function 'prepare_krb5_rfc1964_buffer': context_lucid.c:106: error: 'krb5oid' undeclared (first use in this function) context_lucid.c:106: error: too many arguments to function 'write_oid' context_lucid.c: In function 'serialize_krb5_ctx': context_lucid.c:174: warning: implicit declaration of function 'gss_export_lucid_sec_context' context_lucid.c:177: warning: implicit declaration of function 'pgsserr' context_lucid.c:178: error: 'krb5oid' undeclared (first use in this function) context_lucid.c:201: warning: implicit declaration of function 'gss_free_lucid_sec_context'
it does build with -nonfsv4 however I want to use kerberos with nfsv3
So when the problem is when I build with -nonfsv4 and try to mount a nfsv3 (no nfsv3 in kernel on client or server) I get the error message: Mar 3 22:12:47 [mountd] refused mount request from spider.host.local for /mnt/silb2/bglobal (/): not exported So I am sure it thinks kerberos == nfsv4
could be a heimdal problem, here it builds with mit-krb5. But i get strange errors on one box all is fine on several other boxes i get: rpc.gssd -f rpc.gssd: undefined symbol: gss_mech_initialize: searching for symbol 'gss_mech_initialize' in '' with the effect that i get this when trying to use those boxes a server (as client with the fine box the do it): mount -t nfs4 -osec=krb5 filer:/fm1007 /mnt/cdrom/ mount.nfs4: mounting filer:/fm1007 failed, reason given by server: No such file or directory
ok, i build it with mit-krb5 and all is fine, one problem was a empty line and the end of /etc/gssapi_mech.conf (the error message of rpc.gssd) (btw, why is this file not supplied anymore?) and the second thing was, that the new file server is an 64 Bit xen guest, so i have to use th e-xen sources which are only available as 2.6.21 so the option style of the /etc/exports file was not supported (the style i used is only support since 2.6.23 (or later)) florian
kerberos only gets used when nfsv4 support is enabled. so building nfs-utils with USE="kerberos nonfsv4" doesnt make any sense.