[krbdev.mit.edu #2941] krb5-1.4 is unbuildable on HPUX 10.20

Ken Raeburn via RT rt-comment at krbdev.mit.edu
Thu Feb 24 13:32:38 EST 2005


 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.)




More information about the krb5-bugs mailing list