Testing XDR code for nits
Subsystems (2)
It used to be when I wanted to test for sanity, I could do:
sudo yum -y install libgssglue-devel
sudo yum -y install nfs-utils-lib-devel
and then:
[thomas@psyklo NFSv4.2]$ make testx
Since about FC15, that has been broken. I can solve this with another distro, but I'd really like to get it working.
I can't install nfs-utils-lib-devel, I found this bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=722847
So I tried installing libtirpc-devel and no luck with the test:
( cd testx.d ; \ rpcgen -a nfsv42.x ; \ if [ ! -f /usr/include/rpc/auth_sys.h ]; then \ ln Make* make ; \ CFLAGS="-I /usr/include/rpcsecgss -I /usr/include/gssglue" ; export CFLAGS ; \ LDLIBS="-lrpcsecgss" ; export LDLIBS ; \ fi ; \ make -f make* ) file `nfsv42_server.c' already exists and may be overwritten make[1]: Entering directory `/home/thomas/Documents/ietf/NFSv4.2/testx.d' rpcgen nfsv42.x cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_clnt.o nfsv42_clnt.c cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_client.o nfsv42_client.c cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_xdr.o nfsv42_xdr.c
nfsv42_xdr.c: In function ‘xdr_secinfo4’:
nfsv42_xdr.c:3511:7: error: ‘RPCSEC_GSS’ undeclared (first use in this function) nfsv42_xdr.c:3511:7: note: each undeclared identifier is reported only once for each function it appears in nfsv42_xdr.c: In function ‘xdr_callback_sec_parms4’:
nfsv42_xdr.c:3790:7: error: ‘RPCSEC_GSS’ undeclared (first use in this function)
make[1]: *** [nfsv42_xdr.o] Error 1
make[1]: Leaving directory `/home/thomas/Documents/ietf/NFSv4.2/testx.d'
make: *** [testx] Error 2
What package will provide RPCSEC_GSS in a header?
Thanks,
Signature · 1 line
Tom Haynes - ex-cfb
Quoted 42 lines · Tom
It used to be when I wanted to test for sanity, I could do:
sudo yum -y install libgssglue-devel
sudo yum -y install nfs-utils-lib-develand then:
[thomas@psyklo NFSv4.2]$ make testx
Since about FC15, that has been broken. I can solve this with another distro, but I'd really like to get it working.
I can't install nfs-utils-lib-devel, I found this bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=722847
So I tried installing libtirpc-devel and no luck with the test:
( cd testx.d ; \ rpcgen -a nfsv42.x ; \ if [ ! -f /usr/include/rpc/auth_sys.h ]; then \ ln Make* make ; \ CFLAGS="-I /usr/include/rpcsecgss -I /usr/include/gssglue" ; export CFLAGS ; \ LDLIBS="-lrpcsecgss" ; export LDLIBS ; \ fi ; \ make -f make* ) file `nfsv42_server.c' already exists and may be overwritten make[1]: Entering directory `/home/thomas/Documents/ietf/NFSv4.2/testx.d' rpcgen nfsv42.x cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_clnt.o nfsv42_clnt.c cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_client.o nfsv42_client.c cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_xdr.o nfsv42_xdr.c
nfsv42_xdr.c: In function ‘xdr_secinfo4’:
nfsv42_xdr.c:3511:7: error: ‘RPCSEC_GSS’ undeclared (first use in this function) nfsv42_xdr.c:3511:7: note: each undeclared identifier is reported only once for each function it appears innfsv42_xdr.c: In function ‘xdr_callback_sec_parms4’:
nfsv42_xdr.c:3790:7: error: ‘RPCSEC_GSS’ undeclared (first use in this function)
make[1]: *** [nfsv42_xdr.o] Error 1
make[1]: Leaving directory `/home/thomas/Documents/ietf/NFSv4.2/testx.d'
make: *** [testx] Error 2
Quoted 1 line
What package will provide
RPCSEC_GSSin a header?
Here is the list of build decencies to build a Fedora nfs-utils rpm.
libgssglue-devel libevent-devel libcap-devel libnfsidmap-devel libtirpc-devel libblkid-devel krb5-libs >= 1.4 autoconf >= 2.57 openldap-devel >= 2.2 automake, libtool, glibc-headers, device-mapper-devel krb5-devel, tcp_wrappers-devel, libmount-devel fedfs-utils-devel >= 0.8.0-7
I hope this helps...
steved.
( cd testx.d ; \ rpcgen -a nfsv42.x ; \ if [ ! -f /usr/include/rpc/auth_sys.h ]; then \ ln Make* make ; \ CFLAGS="-I /usr/include/rpcsecgss -I /usr/include/gssglue" ; export CFLAGS ; \ LDLIBS="-lrpcsecgss" ; export LDLIBS ; \ fi ; \ make -f make* ) file `nfsv42_server.c' already exists and may be overwritten make[1]: Entering directory `/home/thomas/Documents/ietf/NFSv4.2/testx.d' rpcgen nfsv42.x cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_clnt.o nfsv42_clnt.c cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_client.o nfsv42_client.c cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_xdr.o nfsv42_xdr.c
nfsv42_xdr.c: In function ‘xdr_secinfo4’:
nfsv42_xdr.c:3511:7: error: ‘RPCSEC_GSS’ undeclared (first use in this function) nfsv42_xdr.c:3511:7: note: each undeclared identifier is reported only once for each function it appears in nfsv42_xdr.c: In function ‘xdr_callback_sec_parms4’:
nfsv42_xdr.c:3790:7: error: ‘RPCSEC_GSS’ undeclared (first use in this function)
make[1]: *** [nfsv42_xdr.o] Error 1
make[1]: Leaving directory `/home/thomas/Documents/ietf/NFSv4.2/testx.d'
make: *** [testx] Error 2
Whether I look at a FC13 or FC17 system, I see a consistent view of the headers:
[thomas@psyklo NFSv4.2]$ grep RPCSEC_GSS /usr/include/gss*/*
grep: /usr/include/gssglue/gssapi: Is a directory /usr/include/gssrpc/auth_gss.h:/* RPCSEC_GSS control procedures. *//usr/include/gssrpc/auth_gss.h: RPCSEC_GSS_DATA = 0,/usr/include/gssrpc/auth_gss.h: RPCSEC_GSS_INIT = 1,/usr/include/gssrpc/auth_gss.h: RPCSEC_GSS_CONTINUE_INIT = 2,/usr/include/gssrpc/auth_gss.h: RPCSEC_GSS_DESTROY = 3
/usr/include/gssrpc/auth_gss.h:/* RPCSEC_GSS services. *//usr/include/gssrpc/auth_gss.h: RPCSEC_GSS_SVC_NONE = 1,/usr/include/gssrpc/auth_gss.h: RPCSEC_GSS_SVC_INTEGRITY = 2,/usr/include/gssrpc/auth_gss.h: RPCSEC_GSS_SVC_PRIVACY = 3
/usr/include/gssrpc/auth_gss.h:#define RPCSEC_GSS_VERSION 1
/usr/include/gssrpc/auth_gss.h:/* RPCSEC_GSS security triple. *//usr/include/gssrpc/auth_gss.h: RPCSEC_GSS_SVC_NONE/usr/include/gssrpc/auth.h: * RPCSEC_GSS errors/usr/include/gssrpc/auth.h: RPCSEC_GSS_CREDPROBLEM = 13,/usr/include/gssrpc/auth.h: RPCSEC_GSS_CTXPROBLEM = 14
/usr/include/gssrpc/auth.h:#define RPCSEC_GSS 6 /* RPCSEC_GSS */
/usr/include/gssrpc/rpc.h:#include <gssrpc/auth_gss.h> /* RPCSEC_GSS */
/usr/include/gssrpc/svc_auth.h:/* RPCSEC_GSS */
The difference I finally can see is FC13:
[thomas@ietf include]$ ls -la /usr/include/rpcsecgss
total 20
drwxr-xr-x 3 root root 4096 Oct 16 11:49 .
drwxr-xr-x. 134 root root 12288 Oct 16 11:49 ..
drwxr-xr-x 2 root root 4096 Oct 16 11:49 rpc
[thomas@ietf include]$ yum provides /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h Loaded plugins: presto, refresh-packagekit nfs-utils-lib-devel-1.1.5-1.fc13.i686 : Development files for the nfs-utils-lib library
Repo : fedora
Matched from:
Filename : /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h
nfs-utils-lib-devel-1.1.5-1.fc13.i686 : Development files for the nfs-utils-lib library
Repo : installed
Matched from:
Other : Provides-match: /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h
And FC17:
[thomas@psyklo include]$ ls -la /usr/include/rpcsecgss
ls: cannot access /usr/include/rpcsecgss: No such file or directory [thomas@psyklo include]$ yum provides /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h Loaded plugins: langpacks, presto, refresh-packagekit nfs-utils-lib-devel-1.1.5-6.fc17.i686 : Development files for the nfs-utils-lib library
Repo : fedora
Matched from:
Filename : /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h
nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 : Development files for the nfs-utils-lib library
Repo : fedora
Matched from:
Filename : /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h
mas@psyklo include]$ sudo yum -y install nfs-utils-lib-devel
Loaded plugins: langpacks, presto, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils-lib-devel.x86_64 0:1.1.5-6.fc17 will be installed
--> Processing Dependency: librpcsecgss.so.3()(64bit) for package: nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 Package nfs-utils-lib-1.1.5-6.fc17.x86_64 is obsoleted by libnfsidmap-0.25-3.fc17.x86_64 which is already installed --> Finished Dependency Resolution
Error: Package: nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 (fedora)
Requires: librpcsecgss.so.3()(64bit)
Available: nfs-utils-lib-1.1.5-6.fc17.x86_64 (fedora)
librpcsecgss.so.3()(64bit) You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
[thomas@psyklo include]$ sudo yum -y --skip-broken install nfs-utils-lib-devel
Loaded plugins: langpacks, presto, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils-lib-devel.x86_64 0:1.1.5-6.fc17 will be installed
--> Processing Dependency: librpcsecgss.so.3()(64bit) for package: nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 Package nfs-utils-lib-1.1.5-6.fc17.x86_64 is obsoleted by libnfsidmap-0.25-3.fc17.x86_64 which is already installed
Packages skipped because of dependency problems:
nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 from fedora
So it looks like this functionality is no longer provided.
What is supposed to replace it?
Signature · 1 line
Tom Haynes - ex-cfb
Quoted 111 lines · Tom
( cd testx.d ; \ rpcgen -a nfsv42.x ; \ if [ ! -f /usr/include/rpc/auth_sys.h ]; then \ ln Make* make ; \ CFLAGS="-I /usr/include/rpcsecgss -I /usr/include/gssglue" ; export CFLAGS ; \ LDLIBS="-lrpcsecgss" ; export LDLIBS ; \ fi ; \ make -f make* ) file `nfsv42_server.c' already exists and may be overwritten make[1]: Entering directory `/home/thomas/Documents/ietf/NFSv4.2/testx.d' rpcgen nfsv42.x cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_clnt.o nfsv42_clnt.c cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_client.o nfsv42_client.c cc -I /usr/include/rpcsecgss -I /usr/include/gssglue -g -c -o nfsv42_xdr.o nfsv42_xdr.c
nfsv42_xdr.c: In function ‘xdr_secinfo4’:
nfsv42_xdr.c:3511:7: error: ‘RPCSEC_GSS’ undeclared (first use in this function) nfsv42_xdr.c:3511:7: note: each undeclared identifier is reported only once for each function it appears innfsv42_xdr.c: In function ‘xdr_callback_sec_parms4’:
nfsv42_xdr.c:3790:7: error: ‘RPCSEC_GSS’ undeclared (first use in this function)
make[1]: *** [nfsv42_xdr.o] Error 1
make[1]: Leaving directory `/home/thomas/Documents/ietf/NFSv4.2/testx.d'
make: *** [testx] Error 2Whether I look at a FC13 or FC17 system, I see a consistent view of the headers:
[thomas@psyklo NFSv4.2]$ grep
RPCSEC_GSS/usr/include/gss*/*
grep:/usr/include/gssglue/gssapi: Is a directory /usr/include/gssrpc/auth_gss.h:/*RPCSEC_GSScontrol procedures. *//usr/include/gssrpc/auth_gss.h:RPCSEC_GSS_DATA= 0,/usr/include/gssrpc/auth_gss.h:RPCSEC_GSS_INIT= 1,/usr/include/gssrpc/auth_gss.h:RPCSEC_GSS_CONTINUE_INIT= 2,/usr/include/gssrpc/auth_gss.h:RPCSEC_GSS_DESTROY= 3
/usr/include/gssrpc/auth_gss.h:/*RPCSEC_GSSservices. *//usr/include/gssrpc/auth_gss.h:RPCSEC_GSS_SVC_NONE= 1,/usr/include/gssrpc/auth_gss.h:RPCSEC_GSS_SVC_INTEGRITY= 2,/usr/include/gssrpc/auth_gss.h:RPCSEC_GSS_SVC_PRIVACY= 3
/usr/include/gssrpc/auth_gss.h:#defineRPCSEC_GSS_VERSION1
/usr/include/gssrpc/auth_gss.h:/*RPCSEC_GSSsecurity triple. *//usr/include/gssrpc/auth_gss.h:RPCSEC_GSS_SVC_NONE/usr/include/gssrpc/auth.h: *RPCSEC_GSSerrors/usr/include/gssrpc/auth.h:RPCSEC_GSS_CREDPROBLEM= 13,/usr/include/gssrpc/auth.h:RPCSEC_GSS_CTXPROBLEM= 14
/usr/include/gssrpc/auth.h:#defineRPCSEC_GSS6 /*RPCSEC_GSS*/
/usr/include/gssrpc/rpc.h:#include <gssrpc/auth_gss.h> /*RPCSEC_GSS*/
/usr/include/gssrpc/svc_auth.h:/*RPCSEC_GSS*/The difference I finally can see is FC13:
[thomas@ietf include]$ ls -la
/usr/include/rpcsecgss
total 20
drwxr-xr-x 3 root root 4096 Oct 16 11:49 .
drwxr-xr-x. 134 root root 12288 Oct 16 11:49 ..
drwxr-xr-x 2 root root 4096 Oct 16 11:49 rpc
[thomas@ietf include]$ yum provides/usr/include/rpcsecgss/rpc/rpcsecgss_rename.hLoaded plugins: presto, refresh-packagekit nfs-utils-lib-devel-1.1.5-1.fc13.i686 : Development files for the nfs-utils-lib library
Repo : fedora
Matched from:
Filename :/usr/include/rpcsecgss/rpc/rpcsecgss_rename.hnfs-utils-lib-devel-1.1.5-1.fc13.i686 : Development files for the nfs-utils-lib library
Repo : installed
Matched from:
Other : Provides-match:/usr/include/rpcsecgss/rpc/rpcsecgss_rename.hAnd FC17:
[thomas@psyklo include]$ ls -la
/usr/include/rpcsecgss
ls: cannot access/usr/include/rpcsecgss: No such file or directory [thomas@psyklo include]$ yum provides/usr/include/rpcsecgss/rpc/rpcsecgss_rename.hLoaded plugins: langpacks, presto, refresh-packagekit nfs-utils-lib-devel-1.1.5-6.fc17.i686 : Development files for the nfs-utils-lib library
Repo : fedora
Matched from:
Filename :/usr/include/rpcsecgss/rpc/rpcsecgss_rename.hnfs-utils-lib-devel-1.1.5-6.fc17.x86_64 : Development files for the nfs-utils-lib library
Repo : fedora
Matched from:
Filename :/usr/include/rpcsecgss/rpc/rpcsecgss_rename.hmas@psyklo include]$ sudo yum -y install nfs-utils-lib-devel
Loaded plugins: langpacks, presto, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils-lib-devel.x86_64 0:1.1.5-6.fc17 will be installed
--> Processing Dependency: librpcsecgss.so.3()(64bit) for package: nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 Package nfs-utils-lib-1.1.5-6.fc17.x86_64 is obsoleted by libnfsidmap-0.25-3.fc17.x86_64 which is already installed --> Finished Dependency Resolution
Error: Package: nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 (fedora)Requires: librpcsecgss.so.3()(64bit) Available: nfs-utils-lib-1.1.5-6.fc17.x86_64 (fedora) librpcsecgss.so.3()(64bit)You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
[thomas@psyklo include]$ sudo yum -y --skip-broken install nfs-utils-lib-devel
Loaded plugins: langpacks, presto, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils-lib-devel.x86_64 0:1.1.5-6.fc17 will be installed
--> Processing Dependency: librpcsecgss.so.3()(64bit) for package: nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 Package nfs-utils-lib-1.1.5-6.fc17.x86_64 is obsoleted by libnfsidmap-0.25-3.fc17.x86_64 which is already installed
Quoted 6 lines
Packages skipped because of dependency problems:
nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 from fedoraSo it looks like this functionality is no longer provided.
What is supposed to replace it?
It appears to me that this functionality need to be ported to use libtirpc and libgssglue... since that's where all he GSS code now lives... that and the MIT libs...
steved.
Quoted 10 lines · Steve Dickson
Here is the list of build decencies to build a Fedora nfs-utils rpm.
libgssglue-devel libevent-devel libcap-devel libnfsidmap-devel libtirpc-devel libblkid-devel krb5-libs >= 1.4 autoconf >= 2.57 openldap-devel >= 2.2 automake, libtool, glibc-headers, device-mapper-devel krb5-devel, tcp_wrappers-devel, libmount-devel fedfs-utils-devel >= 0.8.0-7
Quoted 3 lines
I hope this helps...
steved.
The difference I finally can see is FC13:
[thomas@ietf include]$ ls -la /usr/include/rpcsecgss
total 20
drwxr-xr-x 3 root root 4096 Oct 16 11:49 .
drwxr-xr-x. 134 root root 12288 Oct 16 11:49 ..
drwxr-xr-x 2 root root 4096 Oct 16 11:49 rpc
[thomas@ietf include]$ yum provides /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h Loaded plugins: presto, refresh-packagekit nfs-utils-lib-devel-1.1.5-1.fc13.i686 : Development files for the nfs-utils-lib library
Repo : fedora
Matched from:
Filename : /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h
nfs-utils-lib-devel-1.1.5-1.fc13.i686 : Development files for the nfs-utils-lib library
Repo : installed
Matched from:
Other : Provides-match: /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h
And FC17:
[thomas@psyklo include]$ ls -la /usr/include/rpcsecgss
ls: cannot access /usr/include/rpcsecgss: No such file or directory [thomas@psyklo include]$ yum provides /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h Loaded plugins: langpacks, presto, refresh-packagekit nfs-utils-lib-devel-1.1.5-6.fc17.i686 : Development files for the nfs-utils-lib library
Repo : fedora
Matched from:
Filename : /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h
nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 : Development files for the nfs-utils-lib library
Repo : fedora
Matched from:
Filename : /usr/include/rpcsecgss/rpc/rpcsecgss_rename.h
mas@psyklo include]$ sudo yum -y install nfs-utils-lib-devel
Loaded plugins: langpacks, presto, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils-lib-devel.x86_64 0:1.1.5-6.fc17 will be installed
--> Processing Dependency: librpcsecgss.so.3()(64bit) for package: nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 Package nfs-utils-lib-1.1.5-6.fc17.x86_64 is obsoleted by libnfsidmap-0.25-3.fc17.x86_64 which is already installed --> Finished Dependency Resolution
Error: Package: nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 (fedora)
Requires: librpcsecgss.so.3()(64bit)
Available: nfs-utils-lib-1.1.5-6.fc17.x86_64 (fedora)
librpcsecgss.so.3()(64bit) You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
[thomas@psyklo include]$ sudo yum -y --skip-broken install nfs-utils-lib-devel
Loaded plugins: langpacks, presto, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils-lib-devel.x86_64 0:1.1.5-6.fc17 will be installed
--> Processing Dependency: librpcsecgss.so.3()(64bit) for package: nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 Package nfs-utils-lib-1.1.5-6.fc17.x86_64 is obsoleted by libnfsidmap-0.25-3.fc17.x86_64 which is already installed
Packages skipped because of dependency problems:
nfs-utils-lib-devel-1.1.5-6.fc17.x86_64 from fedora
So it looks like this functionality is no longer provided.
What is supposed to replace it?
Signature · 1 line
Tom Haynes - ex-cfb