I might give this a go if I can't do it manually, I was hoping to avoid changing the setup.py of the project until I had got some part of it working with cython already.
----- Original Message ---- From: Lisandro Dalcin <[email protected]> To: [email protected] Sent: Wednesday, September 30, 2009 4:03:19 AM Subject: Re: [Cython] Manual gcc compile, can't find libpython25.a (I think) I do not have too much experience on Windows, but I think your should REALLY use a distutils's setup.py ... take a look here: http://www.python.org/doc/2.6.2/distutils/setupscript.html#describing-extension-modules ... You should might need to add stuff to the Extension constructor, like kw args include_dirs, library_dirs and libraries. Optionally, you can make distutils to default to use MinGW adding a setup.cfg file alongside your setup.py with this content: [build] compiler=mingw32 If you follow my advice and next run "python setup.py build", the output in you console will show you that building ext modules on Win (actually, in any platfom) is not so easy, and special flags are needed... On Tue, Sep 29, 2009 at 11:38 PM, Stuart Axon <[email protected]> wrote: > Using the windows install and msys, I'm getting errors that look like > > This bit works fine > [C:\usr\shoebot\shoebot\core] set PINCLUDE=c:\usr\Python25\include\ > [C:\usr\shoebot\shoebot\core] gcc -c -Ic:\usr\Python25\include\ cairo_canvas.c > > > I get errors here, how do I tell gcc that libpyt > [C:\usr\shoebot\shoebot\core]gcc -shared cairo_canvas.o > -Lc:\usr\Python25\libs\libpython25.a -o cairo_canvas.dll > cairo_canvas.o:cairo_canvas.c:(.text+0x21): undefined reference to > `_imp__PyObject_GetItem' > cairo_canvas.o:cairo_canvas.c:(.text+0x63): undefined reference to > `_imp__PyList_Type' > cairo_canvas.o:cairo_canvas.c:(.text+0xb3): undefined reference to > `_imp__PyTuple_Type' > cairo_canvas.o:cairo_canvas.c:(.text+0x12a): undefined reference to > `_imp__PySequence_GetItem' > cairo_canvas.o:cairo_canvas.c:(.text+0x142): undefined reference to > `_imp__PyInt_FromLong' > cairo_canvas.o:cairo_canvas.c:(.text+0x156): undefined reference to > `_imp__PyLong_FromLongLong' > cairo_canvas.o:cairo_canvas.c:(.text+0x1eb): undefined reference to > `_imp__PyDict_Size' > cairo_canvas.o:cairo_canvas.c:(.text+0x205): undefined reference to > `_imp___Py_NoneStruct' > cairo_canvas.o:cairo_canvas.c:(.text+0x20d): undefined reference to > `_imp___Py_NoneStruct' > cairo_canvas.o:cairo_canvas.c:(.text+0x215): undefined reference to > `_imp___Py_NoneStruct' > cairo_canvas.o:cairo_canvas.c:(.text+0x21d): undefined reference to > `_imp___Py_NoneStruct' > cairo_canvas.o:cairo_canvas.c:(.text+0x2a2): undefined reference to > `_imp__PyDict_GetItem' > cairo_canvas.o:cairo_canvas.c:(.text+0x2d7): undefined reference to > `_imp__PyDict_GetItem' > cairo_canvas.o:cairo_canvas.c:(.text+0x30d): undefined reference to > `_imp__PyDict_GetItem' > cairo_canvas.o:cairo_canvas.c:(.text+0x343): undefined reference to > `_imp__PyDict_GetItem' > cairo_canvas.o:cairo_canvas.c:(.text+0x379): undefined reference to > `_imp__PyDict_GetItem' > cairo_canvas.o:cairo_canvas.c:(.text+0x3af): more undefined references to > `_imp__PyDict_GetItem' follow > cairo_canvas.o:cairo_canvas.c:(.text+0x467): undefined reference to > `_imp___Py_NoneStruct' > cairo_canvas.o:cairo_canvas.c:(.text+0x46f): undefined reference to > `_imp___Py_NoneStruct' > cairo_canvas.o:cairo_canvas.c:(.text+0x477): undefined reference to > `_imp___Py_NoneStruct' > cairo_canvas.o:cairo_canvas.c:(.text+0x47f): undefined reference to > `_imp___Py_NoneStruct' > cairo_canvas.o:cairo_canvas.c:(.text+0x5a6): undefined reference to > `_imp__PyObject_GetAttr' > cairo_canvas.o:cairo_canvas.c:(.text+0x618): undefined reference to > `_imp__PyTuple_New' > cairo_canvas.o:cairo_canvas.c:(.text+0x6ee): undefined reference to > `_imp__PyObject_Call' > cairo_canvas.o:cairo_canvas.c:(.text+0x7cb): undefined reference to > `_imp__PyObject_SetAttr' > cairo_canvas.o:cairo_canvas.c:(.text+0x814): undefined reference to > `_imp__PyObject_SetAttr' > cairo_canvas.o:cairo_canvas.c:(.text+0x8a7): undefined reference to > `_imp__PyObject_GetAttr' > cairo_canvas.o:cairo_canvas.c:(.text+0x8eb): undefined reference to > `_imp__PyTuple_New' > [....snipped] > > > Any idea what I'm doing wrong. > > Much obliged. > > S++ > > > > > _______________________________________________ > Cython-dev mailing list > [email protected] > http://codespeak.net/mailman/listinfo/cython-dev > -- Lisandro Dalcín --------------- Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC) Instituto de Desarrollo Tecnológico para la Industria Química (INTEC) Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) PTLC - Güemes 3450, (3000) Santa Fe, Argentina Tel/Fax: +54-(0)342-451.1594 _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
