This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author jestone
Recipients
Date 2005-09-29.16:35:35
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Logged In: YES 
user_id=48806

It isn't an OS bug because that specific problem is caused
by something generated by the autoconf scripts and/or Python
headers, and it's that specific interaction that's causing
the errors.  Here's line 290 of /usr/include/limits.h:
typedef unsigned long size_t;   /* size of something in bytes */
I suspect there's some bogus line in one of the autoconf
generated includes that's typedefing size_t for itself when
"--without-gcc" is used.  I've compiled a few hundred
thousand lines of code in 64-bit mode (some of which do
indeed include limits.h) and not run into this problem prior
to building Python. Since we've determined that the use of
the "--without-gcc" breaks the 64-bit builds universally,
I'm not inclined to dig much deeper on that particular
problem.  Removing --without-gcc from the configure options
eliminates that compile problem, leaving the other issues I
mention with the last part of the build process.  Regarding
"-xc99=%none", this is now required when building codes that
are pre-POSIX 2003 on Solaris, otherwise the new S10 headers
give you errors:
"/usr/include/sys/feature_tests.h", line 332: #error:
"Compiler or options invalid for pre-UNIX 03 X/Open
applications  and pre-2001 POSIX applications"
The comments in the system header pertaning to this say the
following:
/*
 * It is invalid to compile an XPG3, XPG4, XPG4v2, or XPG5
application
 * using c99.  The same is true for POSIX.1-1990,
POSIX.2-1992, POSIX.1b,
 * and POSIX.1c applications. Likewise, it is invalid to
compile an XPG6
 * or a POSIX.1-2001 application with anything other than a
c99 or later
 * compiler.  Therefore, we force an error in both cases.
 */

In any case, adding -xc99=%none disables the c99 extensions
which conflict with the old POSIX standards.  This probably
has to do 
with language changes that occured in c99 that may be
incompatible with the oldest POSIX APIs. (elimination of
default type promotion to int perhaps?)  

I agree that it's annoying, but that's the way the new
headers work, and many other packages have already updated
their build flags to cope.
History
Date User Action Args
2007-08-23 14:34:52adminlinkissue1306253 messages
2007-08-23 14:34:52admincreate