Skip to contentSkip to conversation

Testing XDR code for nits

DISCUSSION Haynes, Tom 2 participants 5 messages Oct 15, 2012 – Oct 16, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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
#1 lore raw
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-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

Quoted 1 line

What package will provide RPCSEC_GSS in 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.

#2 lore raw

( 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
#4 lore raw
In reply to Steve Dickson
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
#3 lore raw
In reply to Haynes, Tom
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 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

Quoted 6 lines

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?

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.