Problem during dlopen()

Pietro Cerutti gahr at FreeBSD.org
Tue Jul 5 11:45:25 UTC 2016


On 2016-07-05 13:13, 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
> 
> Clearly dlopen is not able to match these 2 and succeed.
> 
> Question:
> So on which part of the building is what switch missing.

Wild guess: -Wl,-E linking the executable.

-- 
Pietro Cerutti
gahr at FreeBSD.org

PGP Public Key:
http://gahr.ch/pgp


More information about the freebsd-hackers mailing list