openssh 2.9p1 on Solaris 2.6 with AFS

Jan IVEN jan.iven at cern.ch
Tue Jul 17 07:38:10 EST 2001


>>>>> "DRB" == David R Boldt <David> writes:

 DRB> Jan,

 DRB> maybe I should check the /afs information that you pointed me at
 DRB> in a subsequent email first, but I wanted to update you on what
 DRB> happened following this path:

 DRB> I did get some mileage out of both of your suggestions below,
 DRB> but still did not make it through (now working with openssh-2.9p2):

 DRB> gcc -o ssh ssh.o sshconnect.o sshconnect1.o sshconnect2.o sshtty.o
 DRB> readconf.o clientloop.o -L. -Lopenbsd-compat/ -R/usr/local/ssl/lib
 DRB> -L/usr/local/ssl/lib  -L/usr/local/lib -R/usr/local/lib -L/usr/athena/lib
 DRB> -R/usr/athena/lib -L/usr/afsws/lib -lssh -lopenbsd-compat -lkafs -lresolv
 DRB> -ldes -lkrb -lpam -ldl -lwrap -lz -lsocket -lnsl  -lgen -lcrypto -ldes

1. there are 2 -ldes in there?

2. try to get it working on the command line. I would start by
removing -ldes -L/usr/local/lib:

gcc -o ssh ssh.o sshconnect.o sshconnect1.o sshconnect2.o sshtty.o \
 readconf.o clientloop.o -L. -Lopenbsd-compat/ -R/usr/local/ssl/lib \
 -L/usr/local/ssl/lib  -L/usr/athena/lib \
 -R/usr/athena/lib -L/usr/afsws/lib -lssh -lopenbsd-compat -lkafs -lresolv \
 -lkrb -lpam -ldl -lwrap -lz -lsocket -lnsl  -lgen -lcrypto -ldes

If this still complains about /usr/local/lib/libdes.a, remove the
remaining -ldes.

If this starts to complain about missing functions, find out why these
functions are not in libcrypto.a (and who is referencing them).


Other possibilities:

ld -t          will stop the warnings...
ld -z muldefs  same as -t, allows first symbol to be taken

No idea on the side effects - this could dump core on the spot.

(you have to wrap these up for gcc, I think something like -Wl,-t or
-Wl,-z,muldefs should do the trick)

If it works, then we will have to find a way for configure to do the
right thing automatically -- and please do document your efforts (at
least the final working solution...).

Best regards
Jan

 DRB> /usr/local/ssl/lib/libcrypto.a(set_key.o): In function
 DRB> `des_check_key_parity':
 DRB> set_key.o(.text+0x380): multiple definition of `des_check_key_parity'
 DRB> /usr/local/lib/libdes.a(key_parity.o)(.text+0x98): first defined here
 DRB> /usr/local/sparc-sun-solaris2.6/bin/ld: Warning: size of symbol
 DRB> `des_check_key_parity' changed from 180 to 88 in set_key.o
 DRB> /usr/local/ssl/lib/libcrypto.a(set_key.o): In function `des_is_weak_key':
 DRB> set_key.o(.text+0x3e0): multiple definition of `des_is_weak_key'
 DRB> /usr/local/lib/libdes.a(weak_key.o)(.text+0x10): first defined here
 DRB> /usr/local/sparc-sun-solaris2.6/bin/ld: Warning: size of symbol
 DRB> `des_is_weak_key' changed from 192 to 96 in set_key.o
 DRB> /usr/local/ssl/lib/libcrypto.a(set_key.o): In function `des_key_sched':
 DRB> set_key.o(.text+0x4a0): multiple definition of `des_key_sched'
 DRB> /usr/local/lib/libdes.a(key_sched.o)(.text+0x10): first defined here
 DRB> /usr/local/sparc-sun-solaris2.6/bin/ld: Warning: size of symbol
 DRB> `des_key_sched' changed from 336 to 80 in set_key.o
 DRB> /usr/local/ssl/lib/libcrypto.a(set_key.o): In function
 DRB> `des_fixup_key_parity':
 DRB> set_key.o(.text+0x5e0): multiple definition of `des_fixup_key_parity'
 DRB> /usr/local/lib/libdes.a(key_parity.o)(.text+0x10): first defined here
 DRB> /usr/local/sparc-sun-solaris2.6/bin/ld: Warning: size of symbol
 DRB> `des_fixup_key_parity' changed from 120 to 72 in set_key.o
 DRB> gmake: *** [ssh] Error 1



 DRB> -- David Boldt
 DRB> <dboldt at usgs.gov>



                                                                                     
 DRB> Jan IVEN                                                         
 DRB> <Jan.Iven at cer        To:     "David R Boldt" <dboldt at usgs.gov>   
 n.ch> cc:     openssh at openssh.com                 
 DRB> Subject:     Re: openssh 2.9p1 on Solaris   
 DRB> 05/18/01             2.6 with AFS                                
 DRB> 03:13 AM                                                         
                                                                                     
                                                                                     



>>>>> "DRB" == David R Boldt <David> writes:

 DRB> Jan,

 DRB> here is the new patch:

 DRB> thanks. Maybe somebody will apply this to openssh cvs?


 DRB> alas I am still running amiss:

 DRB> In file included from /usr/athena/include/krb.h:50,
 DRB> from sshconnect1.c:22:
 DRB> /usr/local/include/des.h:24: warning: redefinition of `des_cblock'
 DRB> /usr/local/ssl/include/openssl/des.h:77: warning: `des_cblock'
 DRB> previously
 DRB> declared here
 DRB> /usr/local/include/des.h:26: redefinition of `struct des_ks_struct'
 DRB> /usr/local/include/des.h:26: warning: redefinition of
 DRB> `des_key_schedule'
 DRB> /usr/local/ssl/include/openssl/des.h:91: warning: `des_key_schedule'
 DRB> previously declared here
 DRB> /usr/local/include/des.h:54: conflicting types for `bit_64'
 DRB> /usr/local/ssl/include/openssl/des.h:259: previous declaration of
 DRB> `bit_64'

 DRB> Try to fiddle around with your include path, you probably don't want
 DRB> /usr/local/include to be in there.

 DRB> sshconnect1.c: In function `send_afs_tokens':
 DRB> sshconnect1.c:560: warning: implicit declaration of function `_IOW'
 DRB> sshconnect1.c:560: parse error before `struct'
 DRB> gmake: *** [sshconnect1.o] Error 1

 DRB> patch to your krb-1.0.? installed include/kafs.h on Solaris:

 DRB> --- kafs.h~     Tue Dec 12 15:53:47 2000
 DRB> +++ kafs.h      Fri Dec 15 12:22:05 2000
 DRB> @@ -36,6 +36,9 @@
 DRB> #ifndef __KAFS_H
 DRB> #define __KAFS_H

 DRB> +/* need _IOW on Solaris , 15.12.00 JI */
 DRB> +#include <sys/ioccom.h>
 DRB> +
 DRB> /* XXX must include krb5.h or krb.h */

 DRB> /* sys/ioctl.h must be included manually before kafs.h */













More information about the openssh-unix-dev mailing list