Okay, I've figured it out. On my system RTTI is enabled by default, on ubuntu
16.04 RTTI is disabled. meson doesn't account for this in it's llvm module,
because you would need to compile all C++ code with -fno-rtti to make it link
reliably.

short answer:
add `-DLLVM_ENABLE_RTTI=1` to the cmake invocation for LLVM
or 
`meson build --cpp_args="-fno-rtti" ...` for mesa

I can probably fix this in mesa, but it will require bumping the meson version.

Dylan

Quoting Marek Olšák (2018-04-10 12:47:32)
> cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/llvm/x86_64-linux-gnu
> -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" -DLLVM_ENABLE_ASSERTIONS=ON \
>                   -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_BUILD_LLVM_DYLIB=ON
> -DLLVM_LINK_LLVM_DYLIB=ON \
>                   -DLLVM_APPEND_VC_REV=OFF
> -DCMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO="-fuse-ld=gold" \
>                   -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O2 -g
> -fno-omit-frame-pointer" \
>                   -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g
> -fno-omit-frame-pointer"
> 
> Marek
> 
> On Tue, Apr 10, 2018 at 3:11 PM, Dylan Baker <dy...@pnwbakers.com> wrote:
> 
>     Quoting Marek Olšák (2018-04-10 11:03:59)
>     > On Mon, Apr 9, 2018 at 5:37 PM, Dylan Baker <dy...@pnwbakers.com> wrote:
>     >
>     >     Are you building LLVM yourself, or is that a build that comes with
>     your
>     >     distro?
>     >     Also, what is your distro?
>     >
>     >
>     > Ubuntu 16.04. LLVM is in /usr/llvm/.... bin is not in PATH by default,
>     include
>     > is not in the include path by default, but lib is in the ld path.
>     >
>     > I build LLVM with shared libs myself.
> 
>     with -DBUILD_SHARED_LIBS=1?
>    
>     Dylan
> 
> 

Attachment: signature.asc
Description: signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to