[2542] in Kerberos-V5-bugs
krb5-admin/260: master_princ multiply defined: kdb5_util.c, server_kdb.c
daemon@ATHENA.MIT.EDU (bjaspan@MIT.EDU)
Wed Nov 27 17:40:26 1996
Resent-From: gnats@rt-11.MIT.EDU (GNATS Management)
Resent-To: bjaspan@MIT.EDU
Resent-Reply-To: krb5-bugs@MIT.EDU, bjaspan@MIT.EDU
Date: Wed, 27 Nov 1996 22:39:52 GMT
From: bjaspan@MIT.EDU
Reply-To: bjaspan@MIT.EDU
To: krb5-bugs@MIT.EDU
>Number: 260
>Category: krb5-admin
>Synopsis: master_princ multiply defined: kdb5_util.c, server_kdb.c
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: bjaspan
>State: open
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Wed Nov 27 17:40:01 EST 1996
>Last-Modified:
>Originator: Barry Jaspan
>Organization:
mit
>Release: 1.0-development
>Environment:
System: IRIX beeblebrox 5.3 11091812 IP22 mips
>Description:
While compiling kdb5_util on Irix, I received the following error:
cc -L./../../lib -L./../../lib -o kdb5_util kdb5_util.o dump.o dumpv4.o loadv4.o kdb5_create.o kadm5_create.o string_table.o kdb5_stash.o kdb5_destroy.o ovload.o import_err.o strtok.o -lkadm5srv -lgssrpc -lgssapi_krb5 -lkdb5 -lkrb4 -ldes425 -lkrb5 -lcrypto -ldyn ./../../lib/libdb.a -lcom_err -lnsl -lgen
ld:
Warning: ./../../lib/libkadm5srv.a(server_kdb.o): master_princ: multiply defined
previous (used) definition from 'kdb5_util.o';
new (ignored) definition from './../../lib/libkadm5srv.a'
Warning: ./../../lib/libkadm5srv.a(server_kdb.o): master_encblock: multiply defined
previous (used) definition from 'kdb5_util.o';
new (ignored) definition from './../../lib/libkadm5srv.a'
Warning: ./../../lib/libkadm5srv.a(server_kdb.o): master_keyblock: multiply defined
previous (used) definition from 'kdb5_util.o';
new (ignored) definition from './../../lib/libkadm5srv.a'
I have confirmed that the symbol is, in fact, multiply defined in
those two files and, thinking back, I suspect it has been that way for
a long time. I have no idea why the linker is succeeding on all
platforms; I thought this was a fatal error on at least some systems.
Anyway, we should fix the problem.
I believe the right solution is to make the declaration in kdb5_util.c
extern, but I could be wrong.
>How-To-Repeat:
>Fix:
>Audit-Trail:
>Unformatted: