Hi,

thanks to a hint of Juhani here I striped llvm from the upstream source
and tried again (please git pull if you just have a clone of the spades
Git repository).  Unfortunately also here the build does not succeed:

...
[ 69%] Building CXX object 
common/pipeline/CMakeFiles/pipeline.dir/library_data.cpp.o
cd /build/spades-3.15.0+dfsg/assembler/build_spades/common/pipeline && 
/usr/bin/c++ -DUSE_GLIBCXX_PARALLEL=1 
-I/build/spades-3.15.0+dfsg/assembler/src/include 
-I/build/spades-3.15.0+dfsg/assembler/build_spades/include 
-I/build/spades-3.15.0+dfsg/assembler/src 
-I/build/spades-3.15.0+dfsg/assembler/src/common 
-I/build/spades-3.15.0+dfsg/assembler/ext/src/mimalloc/include -isystem 
/build/spades-3.15.0+dfsg/assembler/src/../ext/include -g -O2 
-ffile-prefix-map=/build/spades-3.15.0+dfsg=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -O2 -g 
-DNDEBUG   -UNDEBUG -Wno-deprecated -g1 -O2 -Wall -Wextra -Wconversion 
-Wno-sign-conversion -Wno-long-long -Wwrite-strings -std=gnu++14 -o 
CMakeFiles/pipeline.dir/library_data.cpp.o -c 
/build/spades-3.15.0+dfsg/assembler/src/common/pipeline/library_data.cpp
In file included from 
/build/spades-3.15.0+dfsg/assembler/src/common/pipeline/library_data.cpp:9:
/usr/include/llvm/Support/YAMLTraits.h: In instantiation of 
'std::enable_if_t<llvm::yaml::missingTraits<T, 
llvm::yaml::EmptyContext>::value, void> llvm::yaml::yamlize(llvm::yaml::IO&, 
T&, bool, llvm::yaml::EmptyContext&) [with T = std::map<int, long unsigned 
int>; std::enable_if_t<llvm::yaml::missingTraits<T, 
llvm::yaml::EmptyContext>::value, void> = void]':
/usr/include/llvm/Support/YAMLTraits.h:946:14:   required from 'void 
llvm::yaml::IO::processKey(const char*, T&, bool, Context&) [with T = 
std::map<int, long unsigned int>; Context = llvm::yaml::EmptyContext]'
/usr/include/llvm/Support/YAMLTraits.h:852:21:   required from 'void 
llvm::yaml::IO::mapRequired(const char*, T&) [with T = std::map<int, long 
unsigned int>]'
/build/spades-3.15.0+dfsg/assembler/src/common/pipeline/library_data.cpp:33:77: 
  required from here
/usr/include/llvm/Support/YAMLTraits.h:1124:36: error: invalid application of 
'sizeof' to incomplete type 'llvm::yaml::MissingTrait<std::map<int, long 
unsigned int> >'
 1124 |   char missing_yaml_trait_for_type[sizeof(MissingTrait<T>)];
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~
make[4]: *** [common/pipeline/CMakeFiles/pipeline.dir/build.make:121: 
common/pipeline/CMakeFiles/pipeline.dir/library_data.cpp.o] Error 1
make[4]: Leaving directory '/build/spades-3.15.0+dfsg/assembler/build_spades'
make[3]: *** [CMakeFiles/Makefile2:1827: 
common/pipeline/CMakeFiles/pipeline.dir/all] Error 2
make[3]: Leaving directory '/build/spades-3.15.0+dfsg/assembler/build_spades'
make[2]: *** [Makefile:182: all] Error 2
...

May be I made some mistake with the llvm replacement?  Any hint would
be welcome.

Kind regards

       Andreas.

On Fri, Jan 15, 2021 at 11:47:16AM +0100, Andreas Tille wrote:
> Hi folks,
> 
> I think we should urgently upgrade spades before the freeze.  I've
> commited the latest upstream version to Git but it has Build-Issues:
> 
> ...
> cd /build/spades-3.15.0+dfsg/assembler/build_spades/projects/spades && 
> /usr/bin/cmake -E cmake_link_script CMakeFiles/spades-core.dir/link.txt 
> --verbose=1
> /usr/bin/c++ -g -O2 -ffile-prefix-map=/build/spades-3.15.0+dfsg=. 
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
> -D_FORTIFY_SOURCE=2 -fopenmp -O2 -g -DNDEBUG -Wl,-z,   relro -Wl,-z,now  
> CMakeFiles/spades-core.dir/pipeline.cpp.o 
> CMakeFiles/spades-core.dir/main.cpp.o 
> CMakeFiles/spades-core.dir/series_analysis.cpp.o 
> CMakeFiles/spades-core.dir/__/mts/          contig_abundance.cpp.o 
> ../../ext/mimalloc/CMakeFiles/mimalloc-obj.dir/src/static.c.o -o 
> ../../bin/spades-core  libspades-stages.a ../../common/io/graph/libgraphio.a 
> ../../common/             libcommon_modules.a ../../common/hmm/libhmmercpp.a 
> ../../common/utils/libversion.a ../../ext/cppformat/libformat.a 
> ../../ext/ConsensusCore/libConsensusCore.a ../../ext/gfa1/libgfa1.a ../../  
> common/paired_info/libpaired_info.a ../../common/stages/libstages.a 
> ../../common/pipeline/libpipeline.a ../../common/io/libinput.a 
> ../../ext/samtools/libsamtools.a ../../ext/bamtools/api/    libBamTools.a 
> /usr/lib/x86_64-linux-gnu/libz.so 
> ../../common/modules/path_extend/libpath_extend.a -lssw 
> ../../common/io/binary/libbinary_io.a ../../common/modules/coverage_model/    
>          libcoverage_model.a -lnlopt ../../ext/gqf/libgqf.a 
> ../../common/modules/libmodules.a 
> ../../common/assembly_graph/libassembly_graph.a ../../common/utils/libutils.a 
> ../../common/utils/         libversion.a ../../ext/cppformat/libformat.a 
> ../../ext/llvm/libllvm-support.a /usr/lib/x86_64-linux-gnu/libdl.so 
> ../../common/sequence/libsequence.a ../../ext/edlib/libedlib.a -lbwa ../../   
> ext/hmmer/libhmmer.a ../../ext/easel/libeasel.a -lm
> /usr/bin/ld: ../../ext/llvm/libllvm-support.a(JSON.cpp.o): in function 
> `llvm::json::isUTF8(llvm::StringRef, unsigned long*)':
> ./assembler/build_spades/ext/llvm/./assembler/ext/src/llvm/JSON.cpp:538: 
> undefined reference to `llvm::isLegalUTF8String(unsigned char const**, 
> unsigned char const*)'
> /usr/bin/ld: 
> ./assembler/build_spades/ext/llvm/./assembler/ext/src/llvm/JSON.cpp:538: 
> undefined reference to `llvm::isLegalUTF8String(unsigned char const**, 
> unsigned char const*)'
> /usr/bin/ld: ../../ext/llvm/libllvm-support.a(JSON.cpp.o): in function 
> `llvm::json::fixUTF8[abi:cxx11](llvm::StringRef)':
> ./assembler/build_spades/ext/llvm/./assembler/ext/src/llvm/JSON.cpp:551: 
> undefined reference to `llvm::ConvertUTF8toUTF32(unsigned char const**, 
> unsigned char const*, unsigned int**,         unsigned int*, 
> llvm::ConversionFlags)'
> /usr/bin/ld: 
> ./assembler/build_spades/ext/llvm/./assembler/ext/src/llvm/JSON.cpp:557: 
> undefined reference to `llvm::ConvertUTF32toUTF8(unsigned int const**, 
> unsigned int const*, unsigned     char**, unsigned char*, 
> llvm::ConversionFlags)'
> /usr/bin/ld: ../../ext/llvm/libllvm-support.a(JSON.cpp.o): in function 
> `llvm::json::isUTF8(llvm::StringRef, unsigned long*)':
> ./assembler/build_spades/ext/llvm/./assembler/ext/src/llvm/JSON.cpp:538: 
> undefined reference to `llvm::isLegalUTF8String(unsigned char const**, 
> unsigned char const*)'
> /usr/bin/ld: 
> ./assembler/build_spades/ext/llvm/./assembler/ext/src/llvm/JSON.cpp:538: 
> undefined reference to `llvm::isLegalUTF8String(unsigned char const**, 
> unsigned char const*)'
> /usr/bin/ld: ../../ext/llvm/libllvm-support.a(Unicode.cpp.o): in function 
> `llvm::sys::unicode::columnWidthUTF8(llvm::StringRef)':
> ./assembler/build_spades/ext/llvm/./assembler/ext/src/llvm/Unicode.cpp:346: 
> undefined reference to `llvm::getNumBytesForUTF8(unsigned char)'
> /usr/bin/ld: 
> ./assembler/build_spades/ext/llvm/./assembler/ext/src/llvm/Unicode.cpp:352: 
> undefined reference to `llvm::ConvertUTF8toUTF32(unsigned char const**, 
> unsigned char const*,         unsigned int**, unsigned int*, 
> llvm::ConversionFlags)'
> collect2: error: ld returned 1 exit status
> 
> 
> I think its just a matter of proper linking,  Could someone
> please have a helping hand?
> 
> Kind regards
> 
>       Andreas.
> 
> 
> -- 
> http://fam-tille.de
> 
> 

-- 
http://fam-tille.de

Reply via email to