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

Re: Urgent: Spades Update before freeze



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 to: