Re: ANNOUNCE: nfs-utils-1.2.2 released.

Chuck Lever
2010-03-04T22:30:29Z

On 03/04/2010 04:21 PM, Lukas Hejtmanek wrote:
> On Thu, Mar 04, 2010 at 04:11:11PM -0500, Chuck Lever wrote:
>> You may be missing some other package, like libgssglue-devel. Or
>> there could be a bug. But, nfs-utils should compile and work using
>> --disable-tirpc.
>>
>> What does your configure.ac command line look like?
>
> without --disable-tirpc it looks like this:
> anubis: /tmp/nfs-utils-1.2.2 $ ./configure
> checking build system type... x86_64-unknown-linux-gnu
> checking host system type... x86_64-unknown-linux-gnu
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /bin/mkdir -p
> checking for gawk... gawk
> checking whether make sets $(MAKE)... yes
> checking whether to enable maintainer-specific portions of Makefiles... no
> checking for style of include used by make... GNU
> checking for gcc... gcc
> checking whether the C compiler works... yes
> checking for C compiler default output file name... a.out
> checking for suffix of executables...
> checking whether we are cross compiling... no
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ISO C89... none needed
> checking dependency style of gcc... gcc3
> checking how to run the C preprocessor... gcc -E
> checking for grep that handles long lines and -e... /bin/grep
> checking for egrep... /bin/grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking for clnt_tli_create in -ltirpc... no
> configure: error: libtirpc not found.

That's a bug. The configure script is supposed to disable TI-RPC
automatically if it can't find libtirpc.

> So I did a try with --disable-tirpc
> configure runs fine.
> Looks like it finds proper libs:
> checking for gss_krb5_export_lucid_sec_context in -lgssapi_krb5... yes
> checking for gss_krb5_set_allowable_enctypes in -lgssapi_krb5... yes
> checking for gss_krb5_ccache_name in -lgssapi_krb5... yes
> checking for krb5_get_error_message in -lgssapi_krb5... yes
> checking for krb5_get_init_creds_opt_set_addressless in -lgssapi_krb5... no
> checking for authgss_create_default in -lrpcsecgss... yes
> checking for authgss_set_debug_level in -lrpcsecgss... yes
>
> I do have libgssglue-dev.
>
> make finishes like this:
> gcc -DHAVE_CONFIG_H -I. -I../../support/include -D_GNU_SOURCE -Wall
> -Wstrict-prototypes -pipe -g -O2 -g -O2 -MT gssd-context.o -MD -MP -MF
> .deps/gssd-context.Tpo -c -o gssd-context.o `test -f 'context.c' || echo
> './'`context.c
> context.c:40:26: error: rpc/auth_gss.h: No such file or directory
> make[2]: *** [gssd-context.o] Error 1
> make[2]: Leaving directory `/tmp/nfs-utils-1.2.2/utils/gssd'
>
> dpkg -S rpc/auth_gss.h
> librpcsecgss-dev: /usr/include/rpcsecgss/rpc/auth_gss.h

Likely configure isn't setting up the include path correctly.

> the configure.ac is the one from nfs-utils-1.2.2 tar ball. It is not
> autogenerated, right?

F12 (which I'm using) appears to have 3 copies of auth_gss.h; one in
/usr/include/gssrpc, one in /usr/include/rpcsecgss, and one in
/usr/include/tirpc.

I'm not sure, but I think you will have to go through the full motions
of setting up configure on your system so it can find everything it needs.

I use

$ make distclean
$ sh ./autogen.sh

then run ./configure

--
chuck[dot]lever[at]oracle[dot]com