Subject: re[3]: Building a win32 python extension from cygwin?
From: Greg Freemyer <[email-masked]>
To: Greg Freemyer <[email-masked]>, Jason Tishler <[email-masked]>, <[email-masked]>
Date: Tue, 18 Mar 2003 18:46:01 -0500

Jason,

Thanks, I got the tutorial to work.

Now I have to port the cygwin C code I have to Win32.

From C code, how do I know if I'm compiling for win32 vs. cygwin?

#ifdef MS_WIN32    

seems to be true for both.  (I'm not totally sure I understand my environment now that I have run the tutorial. )

Greg

 >>  >>  Greg,

 >>  >>  Note my experience building Win32 Python extensions is *very*
 >>  limited.
 >>  >>  It is mainly limited to building the readline module every year or so
 >>  >>  when the next major version of Python is released...

 >>  >>  BTW, you may have better luck on the Python or Distutils list.

 >>  >>  On Mon, Mar 17, 2003 at 05:51:33PM -0500, Greg Freemyer wrote:
 >>  >>  > I want to use a python deployment program like installer to package
 >>  it
 >>  >>  > up so I don't have to install cygwin/python on all my servers.

 >>  >>  What is "installer"?

 >>  A packaging solution that allows python apps to be deployed without having
 >>  to deploy python itself.

 >>  http://www.mcmillan-inc.com/install1.html

 >>  I tried it in my cygwin env.  The process went smooth and I ended up with
 >>  a single .exe file that supposedly would allow the app to install in any
 >>  Win2K env.

 >>  Unfortunately the actual process of installing my app failed, and per

 >>  http://trixie.triqs.com/pipermail/installer/2003-March/000266.html

 >>  there is currently a compatibility issue between installer/cygwin/python.

 >>  BTW: Jason, you are mentioned as the cygwin/python expert who might be
 >>  able to resolve the conflict.

 >>  >>  > Unfortunately, installer is apparently broken for cygwin currently.

 >>  >>  What is broken?

 >>  The above e-mail describes one problem.

 >>  My problem was that libpython2.2.dll could not be found in the specified
 >>  path.

 >>  That does not make any sense because the exe was supposed to be self
 >>  contained and not assume any pre-existing cygwin/python dlls.

 >>  I would have pursued this, but when I read the earlier e-mail, I just
 >>  dropped the idea of using installer.

 >>  >>  > Unfortunately the import command is not working due to the format
 >>  of
 >>  >>  > the dll I am generating.

 >>  >>  Error messages?  Build command lines?

 >>  =====  From a freshly started python (win32 IDLE)
 >>  Python 2.2.2 (#37, Oct 14 2002, 17:02:34) [MSC 32 bit (Intel)] on win32
 >>  Type "copyright", "credits" or "license" for more information.
 >>  IDLE 0.8 -- press F1 for help
 >>  >>> import _librsync
 >>  Traceback (most recent call last):
 >>  File "<pyshell#0>", line 1, in ?
 >>  import _librsync
 >>  ImportError: DLL load failed: The specified module could not be found.
 >>  =====

 >>  If I try importing a totally non-existent dll, I get a different error
 >>  message, so it is finding the dll.

 >>  ==== With a non-existent dll
 >>  >>> import _asdf
 >>  Traceback (most recent call last):
 >>  File "<pyshell#1>", line 1, in ?
 >>  import _asdf
 >>  ImportError: No module named _asdf
 >>  =====

 >>  >>  > I've done a bunch of googling, but I can't find any straight
 >>  forward
 >>  >>  > instructions on what is needed for this to all work out.

 >>  >>  I found the following via Google:

 >>  >>  http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/82826
 >>  >>  http://www.python.org/doc/current/inst/non-ms-compilers.html

 >>  I will look at those.  The first one looks like what I want.

 >>  >>  Are you using the --compiler=mingw32 option?  For example:

 >>  >>  $ python setup.py build --compiler=mingw32

 >>  No I wasn't.

 >>  >>  > Does anyone know where this is documented?

 >>  Thanks

 >>  >>  See above.

 >>  >>  Jason

 >>  >>  -- 
 >>  >>  PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
 >>  >>  Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6

 >>  >>  --
 >>  >>  Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
 >>  >>  Bug reporting:         http://cygwin.com/bugs.html
 >>  >>  Documentation:         http://cygwin.com/docs.html
 >>  >>  FAQ:                   http://cygwin.com/faq/

 >>  --
 >>  Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
 >>  Bug reporting:         http://cygwin.com/bugs.html
 >>  Documentation:         http://cygwin.com/docs.html
 >>  FAQ:                   http://cygwin.com/faq/

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/