Received: from biscayne-one-station.mit.edu (BISCAYNE-ONE-STATION.MIT.EDU [18.7.7.80]) by krbdev.mit.edu (8.9.3p2) with ESMTP id NAA24373; Thu, 24 Feb 2005 13:32:34 -0500 (EST) Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by biscayne-one-station.mit.edu (8.12.4/8.9.2) with ESMTP id j1OIWX2s002957; Thu, 24 Feb 2005 13:32:33 -0500 (EST) Received: from [18.101.0.226] ([18.101.0.226]) (authenticated bits=0) (User authenticated as raeburn@ATHENA.MIT.EDU) by outgoing.mit.edu (8.12.4/8.12.4) with ESMTP id j1OIWQ0a017544 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT); Thu, 24 Feb 2005 13:32:27 -0500 (EST) In-Reply-To: References: MIME-Version: 1.0 (Apple Message framework v619.2) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Ken Raeburn Subject: Re: [krbdev.mit.edu #2941] krb5-1.4 is unbuildable on HPUX 10.20 Date: Thu, 24 Feb 2005 13:32:25 -0500 To: rt@krbdev.mit.edu X-Mailer: Apple Mail (2.619.2) X-Spam-Score: -4.9 X-Spam-Flag: NO X-Scanned-BY: MIMEDefang 2.42 RT-Send-Cc: X-RT-Original-Encoding: us-ascii Content-Length: 1618 From looking at the headers you've made available, it looks like sys/_inttypes.h is always included, but it only defines the 64-bit types in some circumstances, namely when it doesn't define __STDC_32_MODE__; it defines that if __LP64__ is not defined (i.e., not a 64-bit build), and __cplusplus is not defined (i.e., plain C), and either __STDC__ is not defined (non-ANSI C build, which we're not going to do) or __STDC_EXT__ is defined. So I guess the question is how to get __STDC_EXT__ defined. In modern systems there's often a header that tests some compiler-defined flags for indicating desired standards compliance, and sets a bunch of other macros controlling which declarations get exposed by other headers. Looks like sys/stdsyms.h is the one for hpux 10. I don't see it doing anything with __STDC_EXT__ except testing it, though, so this one may be a compiler-defined symbol. Ah... first hit in google is a discussion on the gcc-bugs list about using __STDC_EXT__ with gcc 2.95.1, the reply claiming that the change to gcc had been made (for some future release, maybe 3.0?) to define __STDC_EXT__ unless the "-ansi" option is given. Lenny, what version of gcc are you using? If it's 2.95, try configure CPPFLAGS=-D__STDC_EXT__ --enable-static --disable-shared ... (You might not need to disable the thread support; threads.c always gets compiled first, but just shouldn't do anything interesting after including some header files if the thread support is turned off, and it was the info on shared-library support in those headers that caused the failure the first time.)