Languages and Scripting
Showing results for 
Search instead for 
Did you mean: 

shl_findsym does not find function

Occasional Visitor

shl_findsym does not find function


I have a strange problem on HP-UX 11.0 with a SL I have built myself and I try to load in Perl.
Perl complains about an unresolved symbol "boot_bla" and refuses to load the SL. When I do a nm(1) on the SL the function is listed as "T" - should be OK, I suppose.
Now I created a little C test program and the funny thing is that a shl_findsym(TYPE_PROCEDURE) also says 'unresolved external' whereas a shl_getsymbols() does find it (as PROC).

I searched already on the WWW for any known problem with shl_findsym but could not find anything.

Other possibly important details might be:
- the SL is built from a C++ module with g++
linked with ld
- the function in question is extern "C"
- another SL which I built (C++, g++, ld,
but not extern "C") works normally
- the failing SL works nicely on Linux and
Solaris :-|

Any hints are greatly appreciated!
ranganath ramachandra
Esteemed Contributor

Re: shl_findsym does not find function

the problem is very likely an unresolved data symbol in that function ("boot_bla"). in your test program, you can try shl_loading with BIND_IMMEDIATE|BIND_VERBOSE to see the name of the unsat.