wxPython - cygwin setup.py errors

Hi Robin and other users,

Not sure if others have had problems compiling wxPython in the cygwin
environment. There were 2 categories of problems - cygwin graphics library
and setup.py.
- cygwin - there were some library reference and dependencies that need be
corrected.
- python disutils - I had problems running setup.py to build_ext which was
due to finding link libraries.

Details:
Distutils - setup.py build_ext
- each module being build compiled the wrapper and any c or cpp files
- the link error came when the module was being linked together to form the
.dll files (_core_.dll, _gdi_.dll, _windows_.dll, _controls_.dll, etc)
- the fix unfortunately was a manual one. With each error, I would cut and
paste on the cygwin command line then add a duplicate copy of the entire
list of link library (-lgtk-x11-2.0 -lgthread-2.0 -lgdk-x11-2.0 -latk-1.0
-lgdk_pixbuf-2.0, etc).
- I did this for all the .dll's.

Question/help I need:
- where are the compile and link constructs for each module formed?
- any clues as to how I might change to automatically add the list of link
libraries to the end of the default link construct?
- better yet, if someone can explain how the link components are formed - ie
list all .o file, list all -L directory paths, list all -l libraries, the
the output -o, and finally a list of ... /wx/2.8.6/lib/<archive>.a files.

Any help, thoughts, suggestions, explanation, descriptions, etc will greatly
help.

Thanks
karl

···

-----Original Message-----
From: Karl Kobata [mailto:karl.kobata@syncira.com]
Sent: Wednesday, September 05, 2007 6:44 AM
To: 'wxPython-users@lists.wxwidgets.org'
Subject: RE: [wxPython-users] wxPython - cygwin setup.py errors

Hi Robin,

I am trying to compile and get wxPython working in the cygwin. So it would
be GTK version.
I have completed building the wxWidgets and have it installed in
/opt/wx/2.8. I am now trying to get the extension compiled using distutils
setup.py.
Hope this helps.

Thanks
karl

-----Original Message-----
From: Robin Dunn [mailto:robin@alldunn.com]
Sent: Tuesday, September 04, 2007 3:35 PM
To: wxPython-users@lists.wxwidgets.org
Subject: Re: [wxPython-users] wxPython - cygwin setup.py errors

Karl Kobata wrote:

_) when I do the clean, where do I find pkg-config to find what command
it could not find.

I expect that it's a cygwin package that you can install. Are ou trying
to build the GTK version of wxWidgets/wxPython or the Win32 version?
IIRC pkg-config is only used for finding the flags needed for including
the gtk headers, so if you are trying to build the Win32 version you
will need to do some work on setup.py.

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!

Karl Kobata wrote:

Hi Robin and other users,

Not sure if others have had problems compiling wxPython in the cygwin
environment. There were 2 categories of problems - cygwin graphics library
and setup.py.
- cygwin - there were some library reference and dependencies that need be
corrected.
- python disutils - I had problems running setup.py to build_ext which was
due to finding link libraries.

Details:
Distutils - setup.py build_ext - each module being build compiled the wrapper and any c or cpp files
- the link error came when the module was being linked together to form the
.dll files (_core_.dll, _gdi_.dll, _windows_.dll, _controls_.dll, etc)
- the fix unfortunately was a manual one. With each error, I would cut and
paste on the cygwin command line then add a duplicate copy of the entire
list of link library (-lgtk-x11-2.0 -lgthread-2.0 -lgdk-x11-2.0 -latk-1.0
-lgdk_pixbuf-2.0, etc).
- I did this for all the .dll's.

Question/help I need:
- where are the compile and link constructs for each module formed?

It comes from distutils, which gets it from how Python was configured and built. In our case it also comes from the output of wx-config, setup.py runs things like "wx-config --cxxflags" to get the flags that should be used for compiling and linking with wxWidgets.

- any clues as to how I might change to automatically add the list of link
libraries to the end of the default link construct?

Edit config.py and/or setup.py. Read the python docs on distutils for details.

- better yet, if someone can explain how the link components are formed - ie
list all .o file, list all -L directory paths, list all -l libraries, the
the output -o, and finally a list of ... /wx/2.8.6/lib/<archive>.a files.

Distutils does that.

···

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!