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.