>>>>> "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 */