Problem during dlopen()

Willem Jan Withagen wjw at digiware.nl
Tue Jul 5 12:23:27 UTC 2016


On 5-7-2016 13:50, Konstantin Belousov wrote:
> On Tue, Jul 05, 2016 at 01:13:42PM +0200, Willem Jan Withagen wrote:
>> Hi,
>>
>> I'm banging my head agains the wall because I cannot seem to get this
>> working.
>>
>> The problem is due to changing from automake to cmake building.
>>
>> But all my dlopens start failing with something like:
>> load failed dlopen(build/lib/compressor/libceph_snappy.so) or
>> dlopen(build/lib/libceph_snappy.so): build/lib/libceph_snappy.so:
>> Undefined symbol "_ZN4ceph6buffer4list8iterator7advanceEl"
>>
>> If do a lookup for  the name:
>> nm build/lib/libceph_snappy.so |grep ceph6buffer4list8iterator7advanceEl
>>
>> if give me:
>>                  U _ZN4ceph6buffer4list8iterator7advanceEl
>>
>> The parent/calling executable however has:
>> 	0000000000513de0 T _ZN4ceph6buffer4list8iterator7advanceEl
> Are you sure ?  In which symbol table (dynamic or debug) the referenced
> symbol appear ?  Check with nm -D.  If it is in debug table, you need
> --export-dynamic linker switch when creating the binary defining the
> symbols.

You are getting the other half of the point that Pietro got.
I did a blunt nm <file> not excluding any tables...

Thanx,
--WjW




More information about the freebsd-hackers mailing list