On Tue, 2009-05-19 at 13:21 -0400, Terry Dontje wrote: > Actually playing with Ashley´s program shown that RTLD_NOW does error > out in the exact same way. So could the problem be that totalview > dlopen´s the plugin with RTLD_NOW passed into dlopen.
Passing the RTLD_NOW flag is probably the right thing to do, the problem lies with the library, not TotalView. > I would have > thought if this was the case we would have seen this problem sooner. Indeed. It would certainly be something worth adding a test for. I can confirm the svn trunk doesn't suffer from this problem, I've been using it all week. Ashley, > George Bosilca wrote: > > No, this is us trying to outsmart compilers. It turned out that at one > > point they outsmart us ... > > > > Anyway, I blame the compiler on this one. As we need the definition of > > the ompi_free_list_t structure we have to include the header file. We > > never use anything from this header file, especially not the > > ompi_free_list functions. However, as one of the functions in the > > header file make a reference to the ompi_free_list_grow function > > (defined in the .c file), the compiler include a reference to this in > > the library. > > > > george. > > > > > > > > On Fri, 15 May 2009, Jeff Squyres wrote: > > > >> Could well be our visibility settings, too... Are those symbols > >> OMPI|ORTE|OPAL_DECLSPEC'ed? > >> > >> > >> On May 15, 2009, at 10:26 AM, Ashley Pittman wrote: > >> > >>> On Fri, 2009-05-15 at 07:43 -0600, Ralph Castain wrote: > >>>> We are running it with 1.3.2, last I heard - haven't tried the current > >>>> 1.3 branch. Ashley reported a problem with some other symbol that > >>>> couldn't be loaded that blocked him on message queue debugging, but > >>>> that was on the trunk. > >>> > >>> My problem is that the library opens but is expecting to find a symbol > >>> in the application that isn't there, it sounds like terry problem is > >>> the > >>> debugger isn't loading the so. > >>> > >>>> Sounds like we are missing at least a couple of header files. > >>> > >>> My first thought for this would be to write a simple C program to > >>> dlopen() the so and see if that works, both with RTLD_NOW and RTLD_LAZY > >>> as I don't know which TotalView uses. Try something like the > >>> following. > >>> > >>> #include <dlfcn.h> > >>> > >>> int main (argc, argv) > >>> int argc; > >>> char *argv[]; > >>> { > >>> void *h; > >>> h = dlopen(argv[1],RTLD_NOW); > >>> printf("Result is %p\n",h); > >>> return 0; > >>> } > >>> > >>> Ashley, > >>> > >>> _______________________________________________ > >>> devel mailing list > >>> de...@open-mpi.org > >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel > >> > >> > >> > > > > "We must accept finite disappointment, but we must never lose infinite > > hope." > > Martin Luther King > > > > _______________________________________________ > > devel mailing list > > de...@open-mpi.org > > http://www.open-mpi.org/mailman/listinfo.cgi/devel > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel