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: