Win32 Binaries?
Mauro Cicognini
mcicogni at siosistemi.it
Thu Aug 14 10:22:42 CEST 2003
Michael Ströder wrote:
> Can you please post your old setup.cfg and the one the build went fine
> with?
I attach the old setup.cfg from PythonLDAP 2.0.0pre04 that used to work
perfectly. I *had* hacked setup.py a little bit then, to make it simple
to define symbols. BTW, the particular symbol I need is just "WIN32".
However, I could _not_ get it to build this time; I had to resort to a
"canonical" MSVC project, built by hand using the GUI.
These are the problems I encountered:
1. There's no way (AFAIK) to simply "define" a preprocessor symbol
within setup.cfg. The distutils scripts expect to have a list of
one- or two-element tuples, but the parser has no way to pull
those from the .cfg. Besides, the one-element tuple means to
"undefine" the symbol, whereas I'd like to just "define" it
without giving it a value, which is unnecessary. I managed to
insert it using a crude hack within setup.py (just as I had done
with the earlier version), but I do not like this solution.
2. The "HAVE_XXX" symbol definition in setup.py is Linux-centric:
since the libraries under Windows have slightly different names
(for instance, "olber32" instead of just "lber"), those symbols
would just not get defined. This however was simple enough to fix.
3. It appears that any library path under "library_dirs" for some
reason gets copied over to "runtime_library_dirs", which makes no
sense to me. This chokes the distutil since the Windows link.exe
has no notion of a runtime library directory (they are found
exclusively in the PATH), so the build stops with an exception. I
am absolutely at a loss to understand the reason of this behavior.
I hacked (temporarily) the standard msvccompile.py to work around
this just to see what the next problem would be, but this isn't
obviously an option.
4. The linker get called without the default libraries, and in such a
way that a whole lot of symbols are found twice, so it just barfs
and never links.
After these unsuccessful attempts, I had modified setup.py (which could
be OK) but I had also started changing the default Python library
scripts, and I'm not comfortable with this. So I pulled up the old MSVC
project I used for PythonLDAP 1.x, worked on it for a while and got the
library to compile nicely.
That's it; if anyone has any clue, please let me know.
BR,
Mauro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ldap/attachments/20030814/30d8d658/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: setup.cfg
URL: <http://mail.python.org/pipermail/python-ldap/attachments/20030814/30d8d658/attachment.ksh>
More information about the python-ldap
mailing list