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