[Geany-devel] Attempted python plugin

Lex Trotman elextr at xxxxx
Thu Nov 11 07:16:38 UTC 2010


On 11 November 2010 17:38, Oliver Marks <oly at digitaloctave.com> wrote:
> thanks for the suggestions i will give them a try later but i believe i
> came across both post previously i dont think i tried the dll one,
> mainly because i thought it was windows specific, but i will also try
> those linker options again, i have actually done quite a lot of googling
> and tryed loads of linker options but there are so many options i could
> have got it wrong :)
>
> I think the biggest thing the confuses is me is why running import fails
> only when you embed, i would have expected it to be useing the same
> files as the normal interpreter and just work.

Yes, but you are invoking the interpreter differently, its loaded from
a dynamically loaded library and the environment is probably
different.

Try writing a simple main program that calls the plugin function.
Does that work?

If so try writing one that dynamically loads the plugin functions
using glibs g_module_open then call it.

See where it fails.

Cheers
Lex

PS for some reason your posts are not threading so I've lost you original code

>
>
> On Wed, 2010-11-10 at 15:49 -0700, Jason Oster wrote:
>> On 11/10/2010 02:44 PM, Oliver Marks wrote:
>> > This is the error i get when launching th plugin in geany
>> >
>> > Loading the test Python module.
>> > Traceback (most recent call last):
>> >    File "<string>", line 1, in<module>
>> >    File "/usr/lib/pymodules/python2.6/gtk-2.0/gtk/__init__.py", line 30,
>> > in<module>
>> >      import gobject as _gobject
>> >    File "/usr/lib/pymodules/python2.6/gtk-2.0/gobject/__init__.py", line
>> > 26, in<module>
>> >      from glib import spawn_async, idle_add, timeout_add,
>> > timeout_add_seconds, \
>> >    File "/usr/lib/pymodules/python2.6/gtk-2.0/glib/__init__.py", line 22,
>> > in<module>
>> >      from glib._glib import *
>> > ImportError: /usr/lib/libpyglib-2.0-python2.6.so.0: undefined symbol:
>> > PyExc_ImportError
>> >
>> >
>> > Any one able to help, me or suggest some things i can try ??
>>
>> I'd say it's a dynamic linking problem.  After a little digging in
>> Google (by the way, most search results are related to your(?)
>> unanswered question on stackoverflow. meh...) I've found a few things
>> which may be related:
>>
>> * http://mail.python.org/pipermail/cplusplus-sig/2005-February/008216.html
>> *
>> http://mail.gnome.org/archives/desktop-devel-list/2006-February/msg00192.html
>> * http://mail.python.org/pipermail/python-dev/2002-May/023923.html
>>
>> The first link provides a good suggestion that should catch undefined
>> symbols at link-time. Although you'll be using -lpython2.6 these days!
>>
>> The second and third links refer to dlopen() and the RTLD_GLOBAL flag,
>> which Py_Initialize() should be taking care of. Not sure about the state
>> of this,; both list threads are old.
>>
>>
>> But, I'm no Python expert; just trying to help out!
>> _______________________________________________
>> Geany-devel mailing list
>> Geany-devel at uvena.de
>> http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
>
>
> _______________________________________________
> Geany-devel mailing list
> Geany-devel at uvena.de
> http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
>



More information about the Devel mailing list