Date: Tue, 5 Jul 2016 14:50:57 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Willem Jan Withagen <wjw@digiware.nl> Cc: FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: Re: Problem during dlopen() Message-ID: <20160705115057.GO38613@kib.kiev.ua> In-Reply-To: <5e29e535-f91f-35fb-2a7e-324bb19b658f@digiware.nl> References: <5e29e535-f91f-35fb-2a7e-324bb19b658f@digiware.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160705115057.GO38613>