Closed LegalizeAdulthood closed 5 years ago
It seems you're mixing rtti-enabled and rtti-disabled code. Can you take a look at the steps taken from the .travis.clang8.Dockerfile
and see if it works for you?
clang-7 and clang-8 packages aren't available for me through apt...
The travis file is using from a prebuilt release out of the main repo...
My build steps for the skeleton are the same as yours except my Clang_DIR and clangmetatool_DIR values are local directories not system directories.
Unfortunately this is a shared machine, I can't just globally change the C++ compiler like that.
Ok, I'll get someone to try and reproduce your problem on our end... I suspect there's something wrong going on in the llvm and clang configurations that is leaving you with an rtti-disabled build.
Can you confirm the version of ubuntu that you're using? (you listed the kernel version and a package version, and it seems to be 16.04, but I just want to be sure).
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial
I looked through the imported target definitions created in the config files and while they define link dependencies and clangmetatool defines a target interface include directory setting, I'm not seeing any other properties being set, so if compilation switches need to be propagated from imported targets to clients, that's not happening.
@LegalizeAdulthood I'm trying to reproduce this, what was the command line you used for building and configuring clang?
Nothing custom, just cmake -G "Unix Makefiles" ../llvm
where my directory structure looks like:
clang/llvm - source clang/build - build directory
I think the issue is that you are not setting -DLLVM_ENABLE_RTTI=1
when running cmake. Most distros set this and I guess rtti is turned off explicitly by llvm/clang if not set.
Can you use cmake -DLLVM_ENABLE_RTTI=1
to configure llvm/clang?
See for example the debian source package (which ubuntu's llvm package is based on too): https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/blob/8/debian/rules#L395
Sorry, edited above, the correct flag is -DLLVM_ENABLE_RTTI=1
We could possibly support this either way by using the LLVM cmake modules: https://github.com/llvm-mirror/llvm/blob/release_80/cmake/modules/AddLLVM.cmake#L30
I put in #39 which should handle this automatically, can you please try building using that branch @LegalizeAdulthood ?
Describe the bug Attempting to build the skeleton results in a link error.
To Reproduce
Expected behavior Skeleton should compile and link without errors before any original modifications are made.
Environment (please complete the following information):