Problem during dlopen()
Konstantin Belousov
kostikbel at gmail.com
Tue Jul 5 11:51:09 UTC 2016
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.
>
> Clearly dlopen is not able to match these 2 and succeed.
Why are you sure that the dynamic linker at fault ?
>
> Question:
> So on which part of the building is what switch missing.
>
> Thanx,
> --WjW
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
More information about the freebsd-hackers
mailing list