[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: