This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
RE: How to make an extension of Python
- To: <cygwin at sources dot redhat dot com>
- Subject: RE: How to make an extension of Python
- From: "Mitsuo Igarashi" <mitsu5 at ruby dot famille dot ne dot jp>
- Date: Sun, 12 Nov 2000 11:29:04 +0900
|On Fri, Nov 10, 2000 at 04:37:09PM +0900, Mitsuo Igarashi wrote:
|> |> dllwrap -o myEnviron.pyd -def myEnviron.def myEnviron.o -lpython2.0
|> |> "Importerror: dynamic modules does not define init
|> |> function ( initmyEnviron)".
|> |
|> |My guess is for some reason initmyEnviron is not being exported from
|> |myEnviron.pyd. What is the contents of your myEnviron.def file?
|>
|>
|> EXPORTS
|> initenviron
|
|Your myEnviron.def file should be the following:
|
| EXPORTS
| initmyEnviron
|
|and myEnviron.c should define the corresponding function:
|
| void initmyEnviron() { ... }
|
|You can use also use:
|
| DL_EXPORT(void) initmyEnviron() { ... }
|
|and then you shouldn't need the def file.
|
|Python requires that your init function match your module name as follows:
|
| If you have a module named "foo", then your init function must be
| named "initfoo".
|
|> |Were you importing the above module into the Win32 or Cygwin Python?
|>
|> cygwin python
|>
|> This failure is probably the bad -lpython2.0.
|> "libpython2.0.a" is not shared?
|
|Yes, but libpython2.0.a is not "bad" is it just static. You will have
|all kinds of problems trying to building shared extensions if you link
|with the static library. This is the main reason for my patch.
At last, I have succeeded in getting "environ.dll" working fine.
From your patched Python-2.0, I modified the script of
"Demo/extend/make_shared"to adapt "environ.c". Then I could build
"environ.dll" very easily.
I am wondering what and how is the mechanism of the patch.
I hope the patch script of Python for cygwin is always on at
http://www.python.org for the every new version of Python.
Thank you so much your taking care of me.
----------=========---------
Mitsuo Igarashi
mitsu5@ruby.famille.ne.jp
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com