OS 10.5 build 64 bits

M.-A. Lemburg mal at egenix.com
Thu Oct 23 12:11:12 EDT 2008


Hi Robin,

On 2008-10-23 17:55, Robin Becker wrote:
> I'm trying to build Python from the unix sources on an OS 10.5 machine.
> This is because we're getting strange faults  when using the built in
> python 2.5 together with some precompiled versions of MySQLdb PIL etc etc.
> 
> The build works if I use python2.6 and with one minor fix I can get all
> the extensions built and apparently working. However, there are some
> minor problems with deprecated code inside the version of django we're
> using.
> 
> I then tried to build against Python2.5. All the extensions build
> cleanly except for MySQLdb. I'm now getting
> 
> 
>> In file included from /Users/rptlab/PYTHON/include/python2.5/Python.h:57,
>>                  from pymemcompat.h:10,
>>                  from _mysql.c:29:
>> /Users/rptlab/PYTHON/include/python2.5/pyport.h:761:2: error: #error
>> "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
> 
> and related
> 
>> In file included from _mysql.c:35:
>> /usr/local/mysql/include/mysql/my_config.h:1095:1: warning:
>> "SIZEOF_LONG" redefined
>> In file included from /Users/rptlab/PYTHON/include/python2.5/Python.h:8,
>>                  from pymemcompat.h:10,
>>                  from _mysql.c:29:
>> /Users/rptlab/PYTHON/include/python2.5/pyconfig.h:814:1: warning: this
>> is the location of the previous definition

That looks like a classical name clash between C header files.
It also suggests that you have 64-bit client libs of MySQL
installed.

> I assume that's because MySQLdb wants to get settings from the
> mysql_config file and the database is compiled in 64 bit mode whilst by
> default python seems to be building 32 bit.

As long as the MySQL client lib is built as 32-bit lib, you shouldn't
have a problem.

> Is there some magic I can try to make the OS 10.5 build as 64 bits? I
> don't see any options to do that in the configure script.

The config options --with-universal-archs is used for this. In theory
you could build a 4-way binary for Intel,PPC/32-bit,64-bit.
Default is 32-bit only.

> Also is it reasonable to expect MySQLdb to operate in both camps ie 32
> bit on the python side and 64 bit on the mysql side. We didn't see any
> obvious errors with the 2.6 build, but our testing was not extensive.

As long as the MySQL wire protocol doesn't get in the way, this
should be possible - again, provided you compile the MySQL client
libs as 32-bit.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Oct 23 2008)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611



More information about the Python-list mailing list