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 -- http://mail.python.org/mailman/listinfo/python-list