Linking problem with lld

Tijl Coosemans tijl at FreeBSD.org
Fri Feb 22 21:36:08 UTC 2019


On Fri, 22 Feb 2019 16:09:09 +0100 Willem Jan Withagen <wjw at digiware.nl>
wrote:
> Hi Ed ea,
> 
> In het ceph project, they started to use library versioning, so it seems.
> 
> But compiling/linking that now with Clang and lld I run into trouble 
> building the ceph-tools.
> 
> This is what I get back of one of the Devs:
> --------------
> My guess is that your linker doesn't support the new symbol versioning 
> exports and since the symbols are hidden by default they aren't visible 
> in the shared library. Previously there was a bug (since Luminous and 
> the switch the cmake) where every public and private symbol was exported 
> by librados.
> 
> We just need to know the magic words to use for your compiler/linker to 
> change the symbol visibility to public for the API methods.
> 
> --------------
> 
> Now I looked thru the options on both Clang and lld, but nothing 
> obviously springs into focus, as to add to change....
> 
> This is how librados is build:
>   /usr/bin/c++ -fPIC  -Wall -Wtype-limits -Wignored-qualifiers 
> -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing 
> -fsigned-char -Wno-unknown-pragmas -Wno-unused-function 
> -Wno-unused-local-typedef -Wno-varargs -Wno-gnu-designator 
> -Wno-missing-braces -Wno-parentheses -Wno-deprecated-register 
> -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-unknown-pragmas 
> -Wno-ignored-qualifiers -Wno-inconsistent-missing-override 
> -Wno-mismatched-tags -Wno-unused-private-field 
> -Wno-address-of-packed-member -DCEPH_DEBUG_MUTEX 
> -fdiagnostics-color=auto -fno-builtin-malloc -fno-builtin-calloc 
> -fno-builtin-realloc -fno-builtin-free  -O0 -g 
> -Wno-unused-command-line-argument -fuse-ld=/usr/bin/ld.lld 
> -Wl,--exclude-libs,ALL 
> -Wl,--version-script=/home/jenkins/workspace/ceph-master/src/librados/librados.map 

Can you provide this librados.map file?


More information about the freebsd-toolchain mailing list