Help with CMake linking Debian's LLVM libs
Hi,
I am trying to make SPAdes 3.8.0 [1] (just entered unstable) build with
Debian's packaged LLVM libraries instead of using the version bundled by
upstream. I have made the necessary CMake changes [2] in a separate git
branch [3] but run into a problem that seems to stem from within the
LLVM code itself. At least I can't directly see a relation to the SPAdes
code... but then again I'm better at C than C++ ;)
I was wondering if anyone could probably provide some assistance? Here's
what I get:
$ ./debian/rules build
[...]
In file included from
/vagrant/spades/src/modules/pipeline/config_struct.cpp:20:0:
/usr/lib/llvm-3.6/include/llvm/Support/YAMLTraits.h: In instantiation of
'typename std::enable_if<llvm::yaml::missingTraits<T>::value,
void>::type llvm::yaml::yamlize(llvm::yaml::IO&, T&, bool) [with T =
std::map<int, long unsigned int>; typename
std::enable_if<llvm::yaml::missingTraits<T>::value, void>::type = void]':
/usr/lib/llvm-3.6/include/llvm/Support/YAMLTraits.h:579:14: required
from 'void llvm::yaml::IO::processKey(const char*, T&, bool) [with T =
std::map<int, long unsigned int>]'
/usr/lib/llvm-3.6/include/llvm/Support/YAMLTraits.h:528:5: required
from 'typename std::enable_if<(!
llvm::yaml::has_SequenceTraits<T>::value), void>::type
llvm::yaml::IO::mapOptional(const char*, T&) [with T = std::map<int,
long unsigned int>; typename std::enable_if<(!
llvm::yaml::has_SequenceTraits<T>::value), void>::type = void]'
/vagrant/spades/src/modules/pipeline/config_struct.cpp:41:79: required
from here
/usr/lib/llvm-3.6/include/llvm/Support/YAMLTraits.h:663:42: error:
invalid application of 'sizeof' to incomplete type
'llvm::yaml::MissingTrait<std::map<int, long unsigned int> >'
char missing_yaml_trait_for_type[sizeof(MissingTrait<T>)];
Does anyone see something obvious that I may have missed?
Thanks in advance!
Cheers
Sascha
[1] https://packages.qa.debian.org/s/spades.html
[2]
https://anonscm.debian.org/cgit/debian-med/spades.git/commit/?h=debian_llvm&id=94b326151eba4671dc266ac0d2198596a9363c43
[3] https://anonscm.debian.org/cgit/debian-med/spades.git/log/?h=debian_llvm
--
The Wellcome Trust Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.
Reply to: