On Jul 12, 2011, at 11:49 AM, Steve Dickson wrote: > > On 07/11/2011 02:46 PM, Benjamin Coddington wrote: >> This problem is caused by including -ltirpc, where libtirpc.la lists -lgssglue as a dependency. Libtool (2.2.6b) then re-evaluates the order of linked libraries putting libgssglue behind libgssapi_krb5. >> >> I fixed this by specifying -lgssglue with -Wl, which is ignored by libtool: >> >> GSSGLUE_CFLAGS="-Wl,-lgssglue" ./configure > Hmm... The question I have is why are the .la even coming into play? > The libs should be dynamically loaded... This is what happens with the vanilla configure: [rpmbuilder@rh6-64-build gssd]$ rm svcgssd [rpmbuilder@rh6-64-build gssd]$ make /bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -Wextra -Wstrict-prototypes -pipe -g -O2 -I/usr/include/gssglue -g -O2 -o svcgssd svcgssd-context.o svcgssd-context_mit.o svcgssd-context_heimdal.o svcgssd-context_lucid.o svcgssd-context_spkm3.o svcgssd-gss_util.o svcgssd-gss_oids.o svcgssd-err_util.o svcgssd-svcgssd.o svcgssd-svcgssd_main_loop.o svcgssd-svcgssd_mech2file.o svcgssd-svcgssd_proc.o ../../support/nfs/libnfs.a -lgssglue -ldl -lnfsidmap -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -ltirpc libtool: link: warning: library `/lib64/libtirpc.la' was moved. libtool: link: warning: library `/lib64/libtirpc.la' was moved. libtool: link: gcc -Wall -Wextra -Wstrict-prototypes -pipe -g -O2 -I/usr/include/gssglue -g -O2 -o svcgssd svcgssd-context.o svcgssd-context_mit.o svcgssd-context_heimdal.o svcgssd-context_lucid.o svcgssd-context_spkm3.o svcgssd-gss_util.o svcgssd-gss_oids.o svcgssd-err_util.o svcgssd-svcgssd.o svcgssd-svcgssd_main_loop.o svcgssd-svcgssd_mech2file.o svcgssd-svcgssd_proc.o ../../support/nfs/libnfs.a /usr/lib64/libnfsidmap.so -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err /lib64/libtirpc.so -lnsl -lgssglue -ldl -lpthread Ben >> >> On Jul 11, 2011, at 12:30 PM, Benjamin Coddington wrote: >> >>> I have a problem building svcgssd from nfs-utils-1.2.3: >>> >>> svcgssd[15145]: DEBUG: serialize_krb5_ctx: lucid version! >>> svcgssd[15145]: ERROR: GSS-API: error in gss_export_lucid_sec_context(): GSS_S_NO_CONTEXT (No context has been established) - (0x00007fff) >>> svcgssd[15145]: ERROR: failed serializing krb5 context for kernel >>> svcgssd[15145]: WARNING: handle_nullreq: serialize_context_for_kernel failed >>> >>> I found that the svcgssd I built ran differently than the one that works from a major distro. >>> >>> My broken one does this: >>> >>> gssint_mechglue_initialize_library () at g_initialize.c:135 >>> 135 { >>> (gdb) bt >>> #0 gssint_mechglue_initialize_library () at g_initialize.c:135 >>> #1 0x00007ffff79a9f75 in gss_indicate_mechs (minorStatus=0x7fffffffe50c, mechSet_out=0x7fffffffe500) at g_initialize.c:220 >>> #2 0x00000000004021ae in gssd_check_mechs () at gss_util.c:241 >>> #3 0x0000000000402777 in main (argc=3, argv=<value optimized out>) at svcgssd.c:239 >>> >>> >>> But if I remove -lgssapi_krb5, svcgssd works fine, and behaves like the one from the distro: >>> >>> gss_initialize () at g_initialize.c:148 >>> 148 { >>> (gdb) bt >>> #0 gss_initialize () at g_initialize.c:148 >>> #1 0x00007ffff6e82f6e in gss_indicate_mechs (minor_status=0x7fffffffe50c, mech_set=0x7fffffffe500) at g_indicate_mechs.c:54 >>> #2 0x000000000040216e in gssd_check_mechs () at gss_util.c:241 >>> #3 0x0000000000402737 in main (argc=3, argv=<value optimized out>) at svcgssd.c:239 >>> >>> >>> Ben-- >>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html