<br><br><div class="gmail_quote">On Thu, Aug 5, 2010 at 4:00 PM, Lisandro Dalcin <span dir="ltr"><<a href="mailto:dalcinl@gmail.com">dalcinl@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On 5 August 2010 13:40, Dmitry Karpeev <<a href="mailto:karpeev@mcs.anl.gov">karpeev@mcs.anl.gov</a>> wrote:<br>
> What is the intended behavior of PetscDLSym when called on an empty handle:<br>
> PetscDLSym(handle=PETSC_NULL, symbol, &value)<br>
> My understanding was that this should look for symbol in the symbol table of<br>
> the main executable.<br>
> This is based on what happens in the Windows case (#ifdef<br>
> PETSC_HAVE_WINDOWS_H),<br>
> but when using dlopen (#ifdef PETSC_HAVE_DLFCN_H), this probably won't<br>
> behave correctly,as currently implemented.<br>
> This is because the above call will boil down to<br>
>    value = dlsym((dlhandle_t)0, symbol),<br>
> which on many systems returns NULL (e.g., on Ubuntu 9.10).<br>
<br>
</div>Look at your dlfch.h header file.. Does it have the line below?:<br>
<br>
# define RTLD_DEFAULT   ((void *) 0)<br></blockquote><div><br>Yes.  Ah, I see: my problem was that the symbol wasn't being exported, not that the null handle wasn't referring to the executable.  I guess I can change it to use RTLD_DEFAULT, but that would require changes to configure.<br>
Also, this may be less portable: OSX uses a different define for the default handle, so configure would have to<br>test for that too.  I wonder what OSX does for dlopen(0,flags)?<br><br>Dmitry. <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<font color="#888888"><br>
<br>
<br>
--<br>
Lisandro Dalcin<br>
---------------<br>
CIMEC (INTEC/CONICET-UNL)<br>
Predio CONICET-Santa Fe<br>
Colectora RN 168 Km 472, Paraje El Pozo<br>
Tel: +54-342-4511594 (ext 1011)<br>
Tel/Fax: +54-342-4511169<br>
</font></blockquote></div><br>