mummer4 / mummer

Mummer alignment tool
Artistic License 2.0
448 stars 107 forks source link

Failed to make on ubuntu 22.04 #192

Open jhcuarta opened 1 year ago

jhcuarta commented 1 year ago

Hi I encounter the following error while compiling

jason@jason:/home/jason/Documents/mummer-4.0.0rc1$ make YAGGO src/umd/nucmer_cmdline.hpp YAGGO tests/generate_sequences_cmdline.hpp YAGGO tests/ufasta_src/dsort_cmdline.hpp YAGGO tests/ufasta_src/sort_cmdline.hpp YAGGO tests/check_cigar_cmdline.hpp YAGGO tests/check_LCP_cmdline.hpp make all-am make[1]: Entering directory '/home/jason/Documents/mummer-4.0.0rc1' CXX src/essaMEM/fasta.o CXX src/essaMEM/mummer.o CXX src/essaMEM/sparseSA.lo CXX src/essaMEM/sssort_compact.lo CXX src/tigr/mgaps.lo CXX src/tigr/postnuc.lo CXX src/tigr/sw_align.lo CXX src/tigr/tigrinc.lo CXX src/umd/nucmer.lo CXXLD libumdmummer.la CXXLD mummer CXX src/tigr/show-coords.o CXX src/tigr/delta.o CXXLD show-coords CXX src/tigr/show-aligns.o CXX src/tigr/translate.o CXXLD show-aligns CXX src/tigr/show-snps.o CXXLD show-snps CXX src/tigr/show-tiling.o CXXLD show-tiling CXX src/tigr/show-diff.o CXXLD show-diff CXX src/tigr/repeat-match.o CXXLD repeat-match CXX src/tigr/annotate.o CXXLD annotate CXX src/tigr/combineMUMs.o CXXLD combineMUMs CXX src/tigr/delta-filter.o CXXLD delta-filter CXX src/umd/nucmer_main.o CXXLD nucmer CXX src/tigr/mgaps_main.o CXXLD mgaps CXX src/tigr/postnuc_main.o CXXLD postnuc CXX src/tigr/prepro.o CXXLD prepro CXX src/tigr/postpro.o In copy constructor ‘Alignment::Alignment(const Alignment&)’, inlined from ‘void gnu_cxx::new_allocator<_Tp>::construct(_Up, _Args&& ...) [with _Up = Alignment; _Args = {const Alignment&}; _Tp = Alignment]’ at /usr/include/c++/11/ext/new_allocator.h:162:4, inlined from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up, _Args&& ...) [with _Up = Alignment; _Args = {const Alignment&}; _Tp = Alignment]’ at /usr/include/c++/11/bits/alloc_traits.h:516:17, inlined from ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = Alignment; _Alloc = std::allocator]’ at /usr/include/c++/11/bits/stl_vector.h:1192:30, inlined from ‘void addNewAlignment(std::vector&, std::vector::iterator, std::vector::iterator)’ at src/tigr/postpro.cc:559:24: src/tigr/postpro.cc:112:8: error: ‘Align.Alignment::Errors’ may be used uninitialized [-Werror=maybe-uninitialized] 112 | struct Alignment | ^~~~~ src/tigr/postpro.cc: In function ‘void addNewAlignment(std::vector&, std::vector::iterator, std::vector::iterator)’: src/tigr/postpro.cc:546:13: note: ‘Align’ declared here 546 | Alignment Align; | ^~~~~ In copy constructor ‘Alignment::Alignment(const Alignment&)’, inlined from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up, _Args&& ...) [with _Up = Alignment; _Args = {const Alignment&}; _Tp = Alignment]’ at /usr/include/c++/11/ext/new_allocator.h:162:4, inlined from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up, _Args&& ...) [with _Up = Alignment; _Args = {const Alignment&}; _Tp = Alignment]’ at /usr/include/c++/11/bits/alloc_traits.h:516:17, inlined from ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = Alignment; _Alloc = std::allocator]’ at /usr/include/c++/11/bits/stl_vector.h:1192:30, inlined from ‘void addNewAlignment(std::vector&, std::vector::iterator, std::vector::iterator)’ at src/tigr/postpro.cc:559:24: src/tigr/postpro.cc:112:8: error: ‘Align.Alignment::SimErrors’ may be used uninitialized [-Werror=maybe-uninitialized] 112 | struct Alignment | ^~~~~ src/tigr/postpro.cc: In function ‘void addNewAlignment(std::vector&, std::vector::iterator, std::vector::iterator)’: src/tigr/postpro.cc:546:13: note: ‘Align’ declared here 546 | Alignment Align; | ^~~~~ In copy constructor ‘Alignment::Alignment(const Alignment&)’, inlined from ‘void gnu_cxx::new_allocator<_Tp>::construct(_Up, _Args&& ...) [with _Up = Alignment; _Args = {const Alignment&}; _Tp = Alignment]’ at /usr/include/c++/11/ext/new_allocator.h:162:4, inlined from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up, _Args&& ...) [with _Up = Alignment; _Args = {const Alignment&}; _Tp = Alignment]’ at /usr/include/c++/11/bits/alloc_traits.h:516:17, inlined from ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = Alignment; _Alloc = std::allocator]’ at /usr/include/c++/11/bits/stl_vector.h:1192:30, inlined from ‘void addNewAlignment(std::vector&, std::vector::iterator, std::vector::iterator)’ at src/tigr/postpro.cc:559:24: src/tigr/postpro.cc:112:8: error: ‘Align.Alignment::NonAlphas’ may be used uninitialized [-Werror=maybe-uninitialized] 112 | struct Alignment | ^~~~~ src/tigr/postpro.cc: In function ‘void addNewAlignment(std::vector&, std::vector::iterator, std::vector::iterator)’: src/tigr/postpro.cc:546:13: note: ‘Align’ declared here 546 | Alignment Align; | ^~~~~ cc1plus: all warnings being treated as errors make[1]: [Makefile:1890: src/tigr/postpro.o] Error 1 make[1]: Leaving directory '/home/jason/Documents/mummer-4.0.0rc1' make: [Makefile:1113: all] Error 2

lufuhao commented 1 year ago

I met this error earlier this afternoon, and guess that this error happens using new gcc to compile old tigr codes.

at line 860 of Makefile AM_CPPFLAGS = -Wall -I$(srcdir)/include

the '-Wall' will activate '-Werror=maybe-uninitialized', which make 'make' failed.

Method1: remove '-Wall' Method2: replace '-Wall' with '-Werror=main' Both works, but I am sure whether it's safe to do so, as I am not professional on C++.