[Zope] MySQL-python-1.2.2 breaks compiling on Mac OS X 10.5 (Andy
Dustman?)
David Pratt
fairwinds at eastlink.ca
Wed Feb 20 22:01:42 EST 2008
Hi Hugo. I believe 'file is not of required architecture' may be the
clue here. Ever since mac went to universal binaries, folks with ppc
have been having trouble since it is compiled with i386 arch flags and
vice versa for folks with intel macs (with ppc arch flags). The only way
to get around this is to compile a universal build, use universal
binaries, or build for your own architecture. There is a large amount of
software out there that does not do the right thing.
For myself, I build my own software including python and I try and keep
away from the universal insanity. On a mac, many folks use macports
without the universal build. If you choose to build your own software,
you can place it in the /opt directory to prevent it from affecting your
system software. This is where your macports software will go if you use
it. You will also need to modify your path to ensure that your compiled
software is obtained over system software.
I see that your issue was solved with a universal build. This probably
just confirms what I have written. This may be alright until you run
into the next snag with something else you need to compile. Personally,
I got tired of the consistent problems trying to build software with the
universal python.
Regards,
David
Hugo Ramos wrote:
> Hello Chetan,
>
> Well thank you very much! I must be very tired to forget to compile
> MySQL without --enable-thread-safe-client !!!
> It seems that MySQL-python now compiles with a warning:
>
> ld: warning in /usr/local/mysql/lib/mysql/libmysqlclient_r.dylib, file
> is not of required architecture
>
> But when I try to import _mysql in Python 2.4.4 shell it seems to
> import the module with no errors.
>
> After that when I try to import ZMySQLDA 2.0.8 in Zope 2.10.5 I
> receive the following error:
>
> ===============================
> 2008-02-20 11:41:52 ERROR Application Could not import Products.ZMySQLDA
> Traceback (most recent call last):
> File "/usr/local/zope2.10.5/lib/python/OFS/Application.py", line
> 709, in import_product
> product=__import__(pname, global_dict, global_dict, silly)
> File "/usr/local/zope2.10.5/instance1/Products/ZMySQLDA/__init__.py",
> line 91, in ?
> import DA
> File "/usr/local/zope2.10.5/instance1/Products/ZMySQLDA/DA.py", line 92, in ?
> from db import DB
> File "/usr/local/zope2.10.5/instance1/Products/ZMySQLDA/db.py", line 89, in ?
> import _mysql
> File "build/bdist.macosx-10.3-fat/egg/_mysql.py", line 7, in ?
> File "build/bdist.macosx-10.3-fat/egg/_mysql.py", line 6, in __bootstrap__
> ImportError: Inappropriate file type for dynamic loading
> Traceback (most recent call last):
> File "/usr/local/zope2.10.5/lib/python/Zope2/Startup/run.py", line 56, in ?
> run()
> File "/usr/local/zope2.10.5/lib/python/Zope2/Startup/run.py", line 21, in run
> starter.prepare()
> File "/usr/local/zope2.10.5/lib/python/Zope2/Startup/__init__.py",
> line 102, in prepare
> self.startZope()
> File "/usr/local/zope2.10.5/lib/python/Zope2/Startup/__init__.py",
> line 278, in startZope
> Zope2.startup()
> File "/usr/local/zope2.10.5/lib/python/Zope2/__init__.py", line 47, in startup
> _startup()
> File "/usr/local/zope2.10.5/lib/python/Zope2/App/startup.py", line
> 45, in startup
> OFS.Application.import_products()
> File "/usr/local/zope2.10.5/lib/python/OFS/Application.py", line
> 686, in import_products
> import_product(product_dir, product_name, raise_exc=debug_mode)
> File "/usr/local/zope2.10.5/lib/python/OFS/Application.py", line
> 709, in import_product
> product=__import__(pname, global_dict, global_dict, silly)
> File "/usr/local/zope2.10.5/instance1/Products/ZMySQLDA/__init__.py",
> line 91, in ?
> import DA
> File "/usr/local/zope2.10.5/instance1/Products/ZMySQLDA/DA.py", line 92, in ?
> from db import DB
> File "/usr/local/zope2.10.5/instance1/Products/ZMySQLDA/db.py", line 89, in ?
> import _mysql
> File "build/bdist.macosx-10.3-fat/egg/_mysql.py", line 7, in ?
> File "build/bdist.macosx-10.3-fat/egg/_mysql.py", line 6, in __bootstrap__
> ImportError: Inappropriate file type for dynamic loading
> ===============================
>
> Any ideas?
>
> ps: I'm posting this to zope list because I'm sure there is more
> people with this problem.
>
>
> tia
>
> Hugo
>
>
> On Feb 20, 2008 10:35 AM, Chetan Kumar <chetan.mlist at gmail.com> wrote:
>> Hello
>> I understand.
>> If I could take the risk of "telling-the-obvious" what you need to do
>> is to recompile mysql so that mysqlclient_r libraries are also
>> created.
>> --enable-thread-safe-client is to be used while configuring the mysql
>> installation.
>> If that is done already, the LD_LIBRARY_PATH (or equivalent in your
>> case) if to set appropriately so that lmysqlclient_r is available for
>> linking.
>> Good luck
>> Chetan
>>
>
>
>
More information about the Zope
mailing list