[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[E-devel] Re: Entropy layout



Thank you for the CVS commmit, it helped finding the problem :
/--
(...)
Loading '/usr/share/entropy/plugins//etk_structure_viewer.so'...
Loading '/usr/share/entropy/plugins//etk_iconbox.so'...
Could not open plugin object
/usr/share/entropy/plugins//etk_iconbox.so - Corrupt file? abort
Loading '/usr/share/entropy/plugins//layout_etk_simple.so'...
Loading '/usr/share/entropy/plugins//layout_ewl_simple.so'...
Loading '/usr/share/entropy/plugins//ewl_local_icon.so'...
Loading '/usr/share/entropy/plugins//etk_list.so'...
(...)
Going to next plugin.../usr/share/entropy/plugins//etk_structure_viewer.so
Sorry, but you haven't loaded a layout plugin.  Please configure one.
\--
So the etk_iconbox plugin pushes a NULL in the 'plugin init' queue as you said.

Then I tried to test this plugin with a quick coded source, and I get :
/--
Error during dlopen(): /usr/share/entropy/plugins/etk_iconbox.so:
undefined symbol: entropy_event_action_file
\--
I ran : for i in /usr/share/entropy/plugins/*.so;do readelf -s $i |
grep entropy_event_action_file && echo $i;done;
/--
   20: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND entropy_event_action_file
/usr/share/entropy/plugins/etk_iconbox.so
   13: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND entropy_event_action_file
/usr/share/entropy/plugins/etk_trackback.so
   25: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND entropy_event_action_file
/usr/share/entropy/plugins/layout_etk_simple.so
   21: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND entropy_event_action_file
/usr/share/entropy/plugins/mime.so
\--
Is there any 'entropy_event_action_file' symbol missing in a plugin?

Thanks for your help, regards
cleptho


On 5/21/06, Alexander Taylor <alex@logisticchaos.com> wrote:
Hi,
This is most curious, but I have found your cause.

Somehow, a 'NULL' entry is being placed in the 'plugin init' queue.
This NULL reference is returned from the function
'create_plugin_object'.

The only way for this function to return a null is the following:

1. dlopen could not open your plugin file.  The file might have become
corrupted somehow.
2. dlopen works (and opens the plugin), but dlsym could not find the
INIT function inside the plugin object.  Cause similar to (1).

Either way, I have added two more debug statements to the source to
track which case here applies to you.  Please update from CVS, and run
it again, and append the output here - it should get you a bit further.
Either way, recompiling/reinstalling may fix your problem - this problem
can only occur (as far as I can see) - with a corrupt installation.

Cheers,
Alex.


--