This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: How to make an extension of Python


|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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]