krb5-1.6.3-beta1 is available

Douglas E. Engert deengert at anl.gov
Fri Sep 28 15:56:17 EDT 2007


Problem is in the Makefile where SHLIB_EXPFLAGS= is not
being set. If I go in and put in -R ... and -L ...
I can get kinit to use the smartcard to login to AD.


--- ,Makefile   Fri Sep 28 14:39:10 2007
+++ Makefile    Fri Sep 28 14:38:20 2007
@@ -522,6 +522,7 @@
  # flags for explicit libraries depending on this one,
  # e.g. "-R$(SHLIB_RPATH) $(SHLIB_SHLIB_DIRFLAGS) $(SHLIB_EXPLIBS)"
  #SHLIB_EXPFLAGS=
+SHLIB_EXPFLAGS= -R/krb5m/lib:/opt/smartcard/lib -L/krb5m/lib -L/opt/smartcard/lib $(SHLIB_SHLIB_DIRFLAGS) $(SHLIB_EXPLIBS)

Then if I remove pkinit.so and do a make I get:


rm -f pkinit.so
building dynamic pkinit object
set -x; objlist=`set -x && perl -p -e 'BEGIN { $SIG{__WARN__} = sub {die @_} }; $e=$ARGV; $e =~ s/OBJS\...$//; s/^/ /; s/ $//; s/ / $e/g;' OBJS.SH` && gcc -g -shared -h pkinit.so.0 -o pkinit.so $objlist -R/krb5m/lib:/opt/smartcard/lib -L/krb5m/lib -L/opt/smartcard/lib  -lkrb5 -lcom_err -lk5crypto 
-ldl -lkrb5support -lcrypto -lresolv -lsocket -lnsl  -lcrypto  -g
+ set -x
+ perl -p -e BEGIN { $SIG{__WARN__} = sub {die @_} }; $e=$ARGV; $e =~ s/OBJS\...$//; s/^/ /; s/ $//; s/ / $e/g; OBJS.SH
objlist= pkinit_accessor.so pkinit_srv.so pkinit_lib.so pkinit_clnt.so pkinit_profile.so pkinit_identity.so pkinit_matching.so pkinit_crypto_openssl.so
+ gcc -g -shared -h pkinit.so.0 -o pkinit.so pkinit_accessor.so pkinit_srv.so pkinit_lib.so pkinit_clnt.so pkinit_profile.so pkinit_identity.so pkinit_matching.so pkinit_crypto_openssl.so -R/krb5m/lib:/opt/smartcard/lib -L/krb5m/lib -L/opt/smartcard/lib -lkrb5 -lcom_err -lk5crypto -ldl -lkrb5support 
-lcrypto -lresolv -lsocket -lnsl -lcrypto -g




Tom Yu wrote:
>>>>>> "deengert" == Douglas E Engert <deengert at anl.gov> writes:
> 
> deengert> The pkinit plugin does not load on Solaris 10. It is looking for libgcc_s.so
> deengert> but not looking in the correct location /usr/sfw/lib
> 
> What program are you running?  Is it kinit, or something else?
> 
> deengert> I built the 1.6.3-beta1 using the same environment as I used with the Umich
> deengert> pkinit, which did not have this problem.
> 
> deengert> (/krb5m-> /afs/anl.gov/appl/krb5-dev/@sys/krb5m as --prefix=/krb5m)
> deengert> Truss shows:
> 
> deengert> open("/krb5m/lib/krb5/plugins/preauth/pkinit.so", O_RDONLY) = 4
> deengert> ...
> deengert> stat("/afs/anl.gov/appl/krb5-dev/@sys/krb5m/lib/libgcc_s.so.1", 0xFFBFD9B8) Err#2 ENOENT
> deengert> stat("/opt/smartcard/lib/libgcc_s.so.1", 0xFFBFD9B8) Err#2 ENOENT
> 
> Are there additonal stat() calls following the ones you quoted above?
> 
> deengert> which is looking at the two -R directories, but not at
> deengert> /usr/sfw/lib or at /usr/lib
> 
> Also, I haven't really worked extensively with compilations that need
> libgcc_s.  Does a normal program built with that gcc look for libgcc_s
> in the correct place?  What does "dump -Lv" show both for kinit (or
> whatever program you were running) and for pkinit.so?
> 
> deengert> Something has changed in how the plugin is linked, as
> deengert> the 1.6.3-beta1 shows:
> 
> deengert> ldd /krb5m/lib/krb5/plugins/preauth/pkinit.so
> deengert> warning: ldd: /krb5m/lib/krb5/plugins/preauth/pkinit.so: is not executable
> deengert>         libgcc_s.so.1 =>         /usr/sfw/lib/libgcc_s.so.1
> deengert>         libc.so.1 =>     /lib/libc.so.1
> deengert>         libm.so.2 =>     /lib/libm.so.2
> deengert>         /platform/SUNW,A70/lib/libc_psr.so.1
> 
> Now that is weird that it lacks libkrb5 compared to the UMich version.
> What make program did you build with?  I think there may be a bug in
> the plugin Makefile because it uses the "+=" operator.
> 
> ---Tom
> 
> 

-- 

  Douglas E. Engert  <DEEngert at anl.gov>
  Argonne National Laboratory
  9700 South Cass Avenue
  Argonne, Illinois  60439
  (630) 252-5444



More information about the krbdev mailing list