Joe Strout wrote:
I just downloaded the mysqldb module from sourceforge to have a look at how it decides how to compile its C extension. It looks like it's getting the CFLAGS and LFLAGS from mysql_config. You'll need a universal binary of libmysqlclient (as Chris already pointed out).

ouch, this does complicate things a bit -- as I have no idea how to get a "universal" mysql_config -- it may be telling distutils to build the extension with only one architecture.

OK, but to be clear, libmysqlclient isn't something from somewhere else that mysqldb uses -- it's the C extension of mysqldb itself, right? Something built when I do "python setup.py install" in the mysqldb source directory?

nope -- see my other note.

the extensions that distutils builds will be called something like _mysql. It will be in site_packages, and in your app bundle, along with .py and .pyc files, NOT in with FrameWorks.


At any rate, you'll want to try to see what CFLAGS/LFLAGS were used to compile libmysqlclient. You might try to run the following command in terminal:

$ mysql_config --cflags

here's mine:
$ /usr/local/mysql/bin/mysql_config --cflags
-I/usr/local/mysql/include -g -Os -arch ppc -fno-common -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL

Darn -- there is an "-arch ppc" in there. However, it may be that distutils still add the "arch i386" who knows?

if you get it to build, you can then look at what it builds, and see if that's Universal or not:

$ file name_of_lib

You can find what it builds in the "build" directory that distutils creates when you run "setup.py build". It will be in something like:

build/lib.macosx-10.3-ppc-2.5

and I think will be called -mysql.so

but I don't actually have it building here.

I suppose I should try -- now that I've gone this far!

-Chris



--
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

chris.bar...@noaa.gov
_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig

Reply via email to