Hello,
I have recently started working on OpenMPI, and part of my job consists
in adding a new module to OpenMPI.
I would like to take this opportunity to thank the people who have been
involved in writing
https://svn.open-mpi.org/trac/ompi/wiki/devel/CreateComponent as it was
very helpful.
Attached is a patch that calls lt_dlerror() in order to show detailed
information about what symbol is missing, when a component fails to
load. I needed it to find out what was wrong in my module and I believe
it can be useful to others as well.
--
Greetings,
A. Huillet
diff -r f567823ec31b opal/mca/base/mca_base_component_find.c
--- a/opal/mca/base/mca_base_component_find.c Fri Jul 31 17:11:48 2009 +0200
+++ b/opal/mca/base/mca_base_component_find.c Mon Aug 03 14:22:01 2009 +0200
@@ -502,8 +502,8 @@
component_struct = (mca_base_component_t*)lt_dlsym(component_handle, struct_name);
if (NULL == component_struct) {
opal_output_verbose(vl, 0, "mca: base: component_find: \"%s\" does not appear to be a valid "
- "%s MCA dynamic component (ignored)",
- target_file->basename, target_file->type);
+ "%s MCA dynamic component (ignored), lt_dlsym said: \"%s\"",
+ target_file->basename, target_file->type, lt_dlerror());
free(mitem);
free(struct_name);
lt_dlclose(component_handle);