Solaris 10 + Sun Studio 12 Pyrhon 2.4.4 64-bit build problem
MrJean1
MrJean1 at gmail.com
Tue Oct 30 01:36:03 EDT 2007
Correction: the number of tests which pass must be 276.
/Jean Brouwers
On Oct 29, 10:29 pm, MrJean1 <MrJe... at gmail.com> wrote:
> Here is a better way to build Python on Solaris, both 32- and 64-
> bit.
>
> <http://ccnuma.anu.edu.au/~wpc/blog/programming/building-python.html>
>
> since it builds both the binary and make test on my Ultra 20 machine.
> In my case 26 tests pass, 1 failed, 44 are skipped and there are 6 u
> expected skips. The latter are expected and due to missing packages,
> like Tcl.
>
> Use the instructions from this site and forget mine. But it may still
> be necessary to patch the ./Include/pyport.h file as shown in my
> previous message.
>
> /Jean Brouwers
>
> On Oct 29, 9:15 pm, MrJean1 <MrJe... at gmail.com> wrote:
>
> > Here is one way to build a 64-bit Python binary on Solaris 10 using
> > SUN's compilers**. This is probably not the recommended procedure but
> > it does create a partial, expected result.
>
> > Here are the 4 steps I used:
>
> > 1 - Run ./configure --without-gcc --with-cxx-main=CC --enable-64-
> > bit ....
>
> > 2 - Edit the generated Makefile and change 3 lines
>
> > CC = cc -xtarget=opteron -xarch=amd64
> > CXX = CC -xtarget=opteron -xarch=amd64
> > MAINCC = CC -xtarget=opteron -xarch=amd64
>
> > The -xtarget and -xarch flags must be adjusted for UltraSparc.
>
> > 3 - Edit python source file ./Include/pyport.h before line 728 (in
> > Python 2.5.1) as follows.
>
> > Add these 3 lines:
>
> > #ifndef __GNUC__ /* non-GNU C/C++, like SUN */
> > # undef LONG_BIT
> > #endif
>
> > such that LONG_BIT is #define'd next
>
> > #ifndef LONG_BIT
> > #define LONG_BIT (8 * SIZEOF_LONG)
> > #endif
>
> > before this error message can occur
>
> > #if LONG_BIT != 8 * SIZEOF_LONG
> > /* 04-Oct-2000 LONG_BIT is apparently (mis)defined as 64 on some
> > recent
> > * 32-bit platforms using gcc. We try to catch that here at
> > compile-time
> > * rather than waiting for integer multiplication to trigger bogus
> > * overflows.
> > */
> > #error "LONG_BIT definition appears wrong for platform (bad gcc/
> > glibc config?)."
> > #endif
>
> > 4 - Run make and check the resulting Python binary with file ./
> > python.
>
> > However, make test still fails and that will require further
> > investigation.
>
> > /Jean Brouwers
>
> > **) Sun C/C++ 5.8 2005/10/14 on an Ultra 20 Opteron machine
>
> > On Oct 29, 12:06 pm, MrJean1 <MrJe... at gmail.com> wrote:> Building 64-bit Python is still elusive. I tried various ways to add -
> > > xtarget=opteron -xarch-amd64 to the C/C++ flags but that still fails
> > > to produce a 64-bit build. Changing the Makefile is not sufficient
> > > since that causes compilation errors.
>
> > > It looks like the ./configure command must run with those additional
> > > flags. Passing the flags in environment variables defining CC and CXX
> > > only works for CXX. The additional flags do not appear on the C
> > > compiler command lines.
>
> > > /Jean Brouwers
>
> > > On Oct 28, 11:03 pm, plumb and tree <plumbandt... at gmail.com> wrote:
>
> > .....
More information about the Python-list
mailing list