abyss
abyss copied to clipboard
Abyss 2.03 compile error -- deleted function
The v2.0.3 version of AbySS failing due to a "deleted function".
GCC Suite: 7.2.0 Boost: 1.66.0 OpenMPI: 3.0.0 Sparsehash: 2.0.3
Configure command:
./configure --prefix=/home/eli --with-boost=/home/eli/src/boost_1_66_0/stage/lib FC=/usr/local/bin/gfortran CFLAGS="-m64 -O3 -mtune=core2" CXXFLAGS="-m64 -O3 -mtune=core2" FCFLAGS="-m64 -O3 -mtune=core2"
Error:
Making all in Layout
make[2]: Entering directory `/home/eli/src/abyss-2.0.3/Layout'
g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../Common -I/home/eli/src/abyss-2.0.3 -isystem/home/eli/src/boost_1_66_0/stage/lib -isystem/home/eli/src/boost_1_66_0/stage/lib/include -isystem/home/eli/src/abyss-2.0.3/boost_1_56_0 -Wall -Wextra -m64 -O3 -mtune=core2 -MT abyss_layout-layout.o -MD -MP -MF .deps/abyss_layout-layout.Tpo -c -o abyss_layout-layout.o `test -f 'layout.cc' || echo './'`layout.cc
In file included from ../Graph/Assemble.h:6:0,
from layout.cc:5:
../Graph/DepthFirstSearch.h: In instantiation of ‘void depthFirstSearch(const Graph&, Visitor, ColorMap, bool) [with Graph = ContigGraph<DirectedGraph<Length, Distance> >; Visitor = AssembleVisitor<std::back_insert_iterator<std::vector<std::vector<ContigNode> > > >; ColorMap = boost::vector_property_map<boost::default_color_type, ContigIndexMap>]’:
../Graph/Assemble.h:64:18: required from ‘void assembleDFS(const Graph&, OutIt, bool) [with Graph = ContigGraph<DirectedGraph<Length, Distance> >; OutIt = std::back_insert_iterator<std::vector<std::vector<ContigNode> > >]’
layout.cc:277:46: required from here
../Graph/DepthFirstSearch.h:39:41: error: use of deleted function ‘boost::vector_property_map<boost::default_color_type, ContigIndexMap>::vector_property_map(const boost::vector_property_map<boost::default_color_type, ContigIndexMap>&)’
boost::detail::depth_first_visit_impl(g, u, vis, color,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
boost::detail::nontruth2());
~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/property_map/property_map.hpp:844:0,
from /usr/include/boost/graph/properties.hpp:19,
from ../Graph/Properties.h:6,
from ../Common/ContigNode.h:6,
from ../Common/ContigPath.h:4,
from layout.cc:2:
/usr/include/boost/property_map/vector_property_map.hpp:19:11: note: ‘boost::vector_property_map<boost::default_color_type, ContigIndexMap>::vector_property_map(const boost::vector_property_map<boost::default_color_type, ContigIndexMap>&)’ is implicitly deleted because the default definition would be ill-formed:
class vector_property_map
^~~~~~~~~~~~~~~~~~~
/usr/include/boost/property_map/vector_property_map.hpp:19:11: error: use of deleted function ‘boost::shared_ptr<std::vector<boost::default_color_type, std::allocator<boost::default_color_type> > >::shared_ptr(const boost::shared_ptr<std::vector<boost::default_color_type, std::allocator<boost::default_color_type> > >&)’
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
from /usr/include/boost/property_map/vector_property_map.hpp:14,
from /usr/include/boost/property_map/property_map.hpp:844,
from /usr/include/boost/graph/properties.hpp:19,
from ../Graph/Properties.h:6,
from ../Common/ContigNode.h:6,
from ../Common/ContigPath.h:4,
from layout.cc:2:
/usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptr<std::vector<boost::default_color_type, std::allocator<boost::default_color_type> > >::shared_ptr(const boost::shared_ptr<std::vector<boost::default_color_type, std::allocator<boost::default_color_type> > >&)’ is implicitly declared as deleted because ‘boost::shared_ptr<std::vector<boost::default_color_type, std::allocator<boost::default_color_type> > >’ declares a move constructor or move assignment operator
template<class T> class shared_ptr
^~~~~~~~~~
In file included from ../Graph/DepthFirstSearch.h:5:0,
from ../Graph/Assemble.h:6,
from layout.cc:5:
/usr/include/boost/graph/depth_first_search.hpp:77:10: note: initializing argument 4 of ‘void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = ContigGraph<DirectedGraph<Length, Distance> >; DFSVisitor = AssembleVisitor<std::back_insert_iterator<std::vector<std::vector<ContigNode> > > >; ColorMap = boost::vector_property_map<boost::default_color_type, ContigIndexMap>; TerminatorFunc = boost::detail::nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = ContigNode]’
void depth_first_visit_impl
^~~~~~~~~~~~~~~~~~~~~~
In file included from ../Graph/Assemble.h:6:0,
from layout.cc:5:
../Graph/DepthFirstSearch.h:53:41: error: use of deleted function ‘boost::vector_property_map<boost::default_color_type, ContigIndexMap>::vector_property_map(const boost::vector_property_map<boost::default_color_type, ContigIndexMap>&)’
boost::detail::depth_first_visit_impl(g, u, vis, color,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
boost::detail::nontruth2());
~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../Graph/DepthFirstSearch.h:5:0,
from ../Graph/Assemble.h:6,
from layout.cc:5:
/usr/include/boost/graph/depth_first_search.hpp:77:10: note: initializing argument 4 of ‘void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = ContigGraph<DirectedGraph<Length, Distance> >; DFSVisitor = AssembleVisitor<std::back_insert_iterator<std::vector<std::vector<ContigNode> > > >; ColorMap = boost::vector_property_map<boost::default_color_type, ContigIndexMap>; TerminatorFunc = boost::detail::nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = ContigNode]’
void depth_first_visit_impl
^~~~~~~~~~~~~~~~~~~~~~
In file included from ../Graph/Assemble.h:6:0,
from layout.cc:5:
../Graph/DepthFirstSearch.h:67:41: error: use of deleted function ‘boost::vector_property_map<boost::default_color_type, ContigIndexMap>::vector_property_map(const boost::vector_property_map<boost::default_color_type, ContigIndexMap>&)’
boost::detail::depth_first_visit_impl(g, u, vis, color,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
boost::detail::nontruth2());
~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../Graph/DepthFirstSearch.h:5:0,
from ../Graph/Assemble.h:6,
from layout.cc:5:
/usr/include/boost/graph/depth_first_search.hpp:77:10: note: initializing argument 4 of ‘void boost::detail::depth_first_visit_impl(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, DFSVisitor&, ColorMap, TerminatorFunc) [with IncidenceGraph = ContigGraph<DirectedGraph<Length, Distance> >; DFSVisitor = AssembleVisitor<std::back_insert_iterator<std::vector<std::vector<ContigNode> > > >; ColorMap = boost::vector_property_map<boost::default_color_type, ContigIndexMap>; TerminatorFunc = boost::detail::nontruth2; typename boost::graph_traits<Graph>::vertex_descriptor = ContigNode]’
void depth_first_visit_impl
^~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [abyss_layout-layout.o] Error 1
make[2]: Leaving directory `/home/eli/src/abyss-2.0.3/Layout'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/eli/src/abyss-2.0.3'
make: *** [all] Error 2```
@eroberson Thanks for reporting this and thanks also for providing your exact GCC version and Boost version up front.
I'm not sure how I will fix this at the moment, but if you are looking for a quick workaround I'm guessing that using an using an older version of Boost will do the trick. IIRC I have tested with Boost 1.62 and maybe Boost 1.64.
Happy to help!
I haven't retried with Boost 1.66.0. Going back over everything carefully it looks like when I invoked the 1.66.0 configure command I was pointing at the linker directory. I need to retry it to make sure that wasn't the only error.
Either way, I can confirm it compiled with 1.62.0:
./configure --prefix=/home/eli \
--with-boost=/home/eli/src/boost_1_62_0 \
FC=/usr/local/bin/gfortran \
CFLAGS="-m64 -O3 -mtune=core2" \
CXXFLAGS="-m64 -O3 -mtune=core2" \
FCFLAGS="-m64 -O3 -mtune=core2"
@eroberson Thanks, good to know!
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
still want to fix this
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
still needs to be fixed