From ppomes@Qualcomm.com Tue Nov 26 00:56:45 1996
Received: from MIT.EDU (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.69.0.28]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id AAA12251 for <bugs@RT-11.MIT.EDU>; Tue, 26 Nov 1996 00:56:44 -0500
Received: from zelkova.qualcomm.com by MIT.EDU with SMTP
id AA18034; Tue, 26 Nov 96 00:56:43 EST
Received: from localhost (localhost [127.0.0.1]) by zelkova.qualcomm.com (8.7.6/8.7.3) with ESMTP id VAA11012; Mon, 25 Nov 1996 21:56:39 -0800 (PST)
Message-Id: <11010.848987799@zelkova.qualcomm.com>
Date: Mon, 25 Nov 1996 21:56:39 -0800
From: Paul Pomes <ppomes@Qualcomm.com>
Sender: ppomes@Qualcomm.com
To: krb5-bugs@MIT.EDU
Cc: bind-workers@vix.com
Subject: typedef/#define conflict in krb5-b7 between BIND and db-config.h
State-Changed-From-To: open-analyzed
State-Changed-By: marc
State-Changed-When: Tue Nov 26 01:02:30 1996
State-Changed-Why:
State-Changed-From-To: analyzed-closed
State-Changed-By: tytso
State-Changed-When: Fri Mar 28 00:56:15 1997
State-Changed-Why: This is a duplicate of PR #315
This is the wrong answer. The right answer is for BIND *and* DB to
stop stomping on namespace which is reserved for the user. We'll
probably rename our symbols to be something like db_intxx_t, which
will fix the problems, but Paul should do something similar. Ugly?
Yes, but sized types are pretty ugly to begin with.
Under Solaris 2.4, Bind 4.9.5-rel installs the file sys/bitypes.h . Typically
it's installed as /usr/local/include/bitypes.h . This file is usually
pulled in from /usr/local/include/netdb.h . The typedefs of interest are
at line 78:
typedef /*signed*/ char int8_t;
typedef unsigned char u_int8_t;
typedef short int16_t;
typedef unsigned short u_int16_t;
typedef int int32_t;
typedef unsigned int u_int32_t;
When the Kerberos configure script is told to look in /usr/local/include
via '--with-cppopts=-I/usr/local/include', compiles of several modules
(src/krb524/krb524d.c, src/appl/telnet/telnet/commands.c, etc) fail due
to the #define's in src/include/db-config.h replacing the right-hand side
of the typedefs above:
#define int8_t signed char
#define u_int8_t unsigned char
#define int16_t short
#define u_int16_t unsigned short
#define int32_t int
#define u_int32_t unsigned int
My fix for now is to edit the db-config.h file after configure is done
to wrap the #define's with the same wrapper used in bitypes.h:
#ifndef __BIT_TYPES_DEFINED__
#define __BIT_TYPES_DEFINED__
[...]
#endif /* __BIT_TYPES_DEFINED__ */
Since the inclusion of one or both of the bitypes.h or db-config.h file
can occur in any order, I suggest that the configure utility be modify
to emit the above wrapper automatically when db-config.h is built.
/pbp
Received: from MIT.EDU (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.69.0.28]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id AAA12251 for <bugs@RT-11.MIT.EDU>; Tue, 26 Nov 1996 00:56:44 -0500
Received: from zelkova.qualcomm.com by MIT.EDU with SMTP
id AA18034; Tue, 26 Nov 96 00:56:43 EST
Received: from localhost (localhost [127.0.0.1]) by zelkova.qualcomm.com (8.7.6/8.7.3) with ESMTP id VAA11012; Mon, 25 Nov 1996 21:56:39 -0800 (PST)
Message-Id: <11010.848987799@zelkova.qualcomm.com>
Date: Mon, 25 Nov 1996 21:56:39 -0800
From: Paul Pomes <ppomes@Qualcomm.com>
Sender: ppomes@Qualcomm.com
To: krb5-bugs@MIT.EDU
Cc: bind-workers@vix.com
Subject: typedef/#define conflict in krb5-b7 between BIND and db-config.h
Show quoted text
>Number: 241
>Category: pending
>Synopsis: typedef/#define conflict in krb5-b7 between BIND and db-config.h
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: gnats-admin
>State: closed
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Tue Nov 26 00:57:01 EST 1996
>Last-Modified: Fri Mar 28 00:56:30 EST 1997
>Originator:
>Organization:
>Release:
>Environment:
>Description:
>How-To-Repeat:
>Fix:
>Audit-Trail:
>Category: pending
>Synopsis: typedef/#define conflict in krb5-b7 between BIND and db-config.h
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: gnats-admin
>State: closed
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Tue Nov 26 00:57:01 EST 1996
>Last-Modified: Fri Mar 28 00:56:30 EST 1997
>Originator:
>Organization:
>Release:
>Environment:
>Description:
>How-To-Repeat:
>Fix:
>Audit-Trail:
State-Changed-From-To: open-analyzed
State-Changed-By: marc
State-Changed-When: Tue Nov 26 01:02:30 1996
State-Changed-Why:
State-Changed-From-To: analyzed-closed
State-Changed-By: tytso
State-Changed-When: Fri Mar 28 00:56:15 1997
State-Changed-Why: This is a duplicate of PR #315
Show quoted text
>Unformatted:
>> Since the inclusion of one or both of the bitypes.h or db-config.h file
>> can occur in any order, I suggest that the configure utility be modify
>> to emit the above wrapper automatically when db-config.h is built.
>> can occur in any order, I suggest that the configure utility be modify
>> to emit the above wrapper automatically when db-config.h is built.
This is the wrong answer. The right answer is for BIND *and* DB to
stop stomping on namespace which is reserved for the user. We'll
probably rename our symbols to be something like db_intxx_t, which
will fix the problems, but Paul should do something similar. Ugly?
Yes, but sized types are pretty ugly to begin with.
Under Solaris 2.4, Bind 4.9.5-rel installs the file sys/bitypes.h . Typically
it's installed as /usr/local/include/bitypes.h . This file is usually
pulled in from /usr/local/include/netdb.h . The typedefs of interest are
at line 78:
typedef /*signed*/ char int8_t;
typedef unsigned char u_int8_t;
typedef short int16_t;
typedef unsigned short u_int16_t;
typedef int int32_t;
typedef unsigned int u_int32_t;
When the Kerberos configure script is told to look in /usr/local/include
via '--with-cppopts=-I/usr/local/include', compiles of several modules
(src/krb524/krb524d.c, src/appl/telnet/telnet/commands.c, etc) fail due
to the #define's in src/include/db-config.h replacing the right-hand side
of the typedefs above:
#define int8_t signed char
#define u_int8_t unsigned char
#define int16_t short
#define u_int16_t unsigned short
#define int32_t int
#define u_int32_t unsigned int
My fix for now is to edit the db-config.h file after configure is done
to wrap the #define's with the same wrapper used in bitypes.h:
#ifndef __BIT_TYPES_DEFINED__
#define __BIT_TYPES_DEFINED__
[...]
#endif /* __BIT_TYPES_DEFINED__ */
Since the inclusion of one or both of the bitypes.h or db-config.h file
can occur in any order, I suggest that the configure utility be modify
to emit the above wrapper automatically when db-config.h is built.
/pbp