[comp.protocols.kerberos] Sun OS 4.1

laplante@iro.umontreal.ca (Pierre Laplante) (07/13/90)

I got the following error when doing the following thing:

.././util/ss/make_commands kadmin_cmds.ct
ld: cmd308.z: ld: can't mixed -r with -Bstatic or -A flag
cp: /tmp/cmd308.o: No such file or directory
chmod: kadmin_cmds.o: No such file or directory
cc -O -I.././include -I../util/ss -DBSD42 -DATHENA_COMPAT
-DATHENA -DKERBEROS -D
VFS  -DSunOS=40  -DNDBM  -o kadmin kadmin.o kadmin_cmds.o
.././util/ss/libss.a .
././util/et/libcom_err.a .././lib/kadm/libkadm.a
.././lib/krb/libkrb.a .././lib/
des/libdes.a
ld: kadmin_cmds.o: No such file or directory
*** Error code 4
make: Fatal error: Command failed for target `kadmin'

This works well on Sun Os 4.0 but not on a Sun Os 4.1.

Any workaround?

-- 

Pierre Laplante	 				
Universite de Montreal, Dep. I.R.O. X-220, C.P. 6128, succursale A
Montreal (Quebec) H3C 3J7, (514) 343-6830, laplante@iro.umontreal.ca 

deven@rpi.edu (Deven T. Corzine) (07/17/90)

On 12 Jul 90 21:13:04 GMT, laplante@iro.umontreal.ca (Pierre Laplante) said:

Pierre> I got the following error when doing the following thing:

Pierre> .././util/ss/make_commands kadmin_cmds.ct
Pierre> ld: cmd308.z: ld: can't mixed -r with -Bstatic or -A flag
Pierre> cp: /tmp/cmd308.o: No such file or directory
Pierre> chmod: kadmin_cmds.o: No such file or directory
Pierre> cc -O -I.././include -I../util/ss -DBSD42 -DATHENA_COMPAT
Pierre> -DATHENA -DKERBEROS -D
Pierre> VFS  -DSunOS=40  -DNDBM  -o kadmin kadmin.o kadmin_cmds.o
Pierre> .././util/ss/libss.a .
Pierre> ././util/et/libcom_err.a .././lib/kadm/libkadm.a
Pierre> .././lib/krb/libkrb.a .././lib/
Pierre> des/libdes.a
Pierre> ld: kadmin_cmds.o: No such file or directory
Pierre> *** Error code 4
Pierre> make: Fatal error: Command failed for target `kadmin'

I ran into this also.  It's a real pain.  For some stupid reason, Sun
changed ld under 4.1 to refuse this combination of flags previously
considered valid.  I compared the object modules which were generated
under SunOS 4.0.3 and SunOS 4.1 (dropping the offending flag), and the
generated code was identical but for a single byte in the header, as I
recall.  I don't know offhand what the difference was, but it was
small.  As for the difference in effect, I know not.

Pierre> This works well on Sun Os 4.0 but not on a Sun Os 4.1.

Yes, Sun changed the semantics, and I see no good reason for having
done so.  I saw no mention of improvements in the SunOS 4.1 ld, or
even bug fixes.  I don't know why it changed at all.

Pierre> Any workaround?

The workaround I used at the time was simply to copy over the object
module generated under SunOS 4.0.3, and forget about it for the time
being.  A possible approach might be to replace the 4.1 ld with the
4.0.3 ld, but I don't know what side-effects that might cause.  It
could break the system or some piece, but it seemed unlikely.  In any
event, bitching at Sun that they made an undocumented change in ld
which broke legal code is likely a good thing to do.

Deven
-- 
Deven T. Corzine        Internet:  deven@rpi.edu, shadow@pawl.rpi.edu
Snail:  2214 12th St. Apt. 2, Troy, NY 12180   Phone:  (518) 271-0750
Bitnet:  deven@rpitsmts, userfxb6@rpitsmts     UUCP:  uunet!rpi!deven
Simple things should be simple and complex things should be possible.