iqbal-lab-org / pandora

Pan-genome inference and genotyping with long noisy or short accurate reads
MIT License
109 stars 14 forks source link

Linking issues with GATB libs and a possible solution (for debug builds) #127

Closed leoisl closed 5 years ago

leoisl commented 5 years ago

Hello,

I have issues to link pandora executable with GATB libraries. I tried compiling the code with https://github.com/rmcolq/pandora#installation and https://github.com/rmcolq/pandora/blob/master/install.sh , no success. Does anyone know how to fix this? Not a big issue though, since I can run/debug with Singularity container (this might be even better, since with the container, the run and debug environments are uniform?).

This is the build log:

/home/leandro/git/pandora/build/include/gatb/tools/misc/api/Enums.hpp:45:13: warning: ‘void gatb::core::tools::misc::parse(const string&, gatb::core::tools::misc::BankConvertKind&)’ defined but not used [-Wunused-function]
 static void parse (const std::string& s, BankConvertKind& kind)
             ^~~~~
[ 39%] Linking CXX executable pandora
CMakeFiles/pandora.dir/src/denovo_discovery/denovo_discovery.cpp.o: In function `DenovoDiscovery::find_paths_through_candidate_region(CandidateRegion&)':
/home/leandro/git/pandora/include/denovo_discovery/local_assembly.h:29: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::GraphTemplate()'
CMakeFiles/pandora.dir/src/denovo_discovery/denovo_discovery.cpp.o: In function `DenovoDiscovery::find_paths_through_candidate_region(CandidateRegion&)':
/home/leandro/git/pandora/src/denovo_discovery/denovo_discovery.cpp:30: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::create(gatb::core::bank::IBank*, char const*, ...)'
/home/leandro/git/pandora/src/denovo_discovery/denovo_discovery.cpp:30: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::~GraphTemplate()'
CMakeFiles/pandora.dir/src/denovo_discovery/denovo_discovery.cpp.o: In function `DenovoDiscovery::find_paths_through_candidate_region(CandidateRegion&)':
/home/leandro/git/pandora/include/denovo_discovery/local_assembly.h:29: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::~GraphTemplate()'
/home/leandro/git/pandora/include/denovo_discovery/local_assembly.h:29: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::~GraphTemplate()'
CMakeFiles/pandora.dir/src/denovo_discovery/denovo_discovery.cpp.o: In function `DenovoDiscovery::find_paths_through_candidate_region(CandidateRegion&)':
/home/leandro/git/pandora/src/denovo_discovery/denovo_discovery.cpp:30: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::~GraphTemplate()'
CMakeFiles/pandora.dir/src/denovo_discovery/denovo_discovery.cpp.o: In function `DenovoDiscovery::find_paths_through_candidate_region(CandidateRegion&)':
/home/leandro/git/pandora/include/denovo_discovery/local_assembly.h:29: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::~GraphTemplate()'
CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `clean(gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >&, unsigned short const&)':
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:167: undefined reference to `gatb::core::debruijn::impl::Simplifications<gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >, gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > > >::Simplifications(gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >&, int, bool)'
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:178: undefined reference to `gatb::core::debruijn::impl::Simplifications<gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >, gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > > >::simplify()'
CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::depth_first_search_from[abi:cxx11](gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > const&)':
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:69: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::toString[abi:cxx11](gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > const&) const'
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:74: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::toString[abi:cxx11](gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > const&) const'
CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::depth_first_search_from[abi:cxx11](gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > const&)':
/home/leandro/git/pandora/build/include/gatb/debruijn/impl/Graph.hpp:664: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::getNodes(gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >&, gatb::core::debruijn::impl::Direction) const'
CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::depth_first_search_from[abi:cxx11](gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > const&)':
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:76: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::toString[abi:cxx11](gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > const&) const'
CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::build_paths_between(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, gatb::core::debruijn::impl::GraphVector<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, 16>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, gatb::core::debruijn::impl::GraphVector<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, 16> > > >&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, unsigned int const&, double const&, float const&, unsigned int)':
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:131: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::buildNode(char const*) const'
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:132: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::queryAbundance(gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >&) const'
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:153: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::toString[abi:cxx11](gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > const&) const'
CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::get_node(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:33: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::buildNode(char const*) const'
CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::get_node(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/leandro/git/pandora/build/include/gatb/debruijn/impl/Graph.hpp:609: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::getNodes() const'
CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::get_node(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:43: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::toString[abi:cxx11](gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > const&) const'
/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:46: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::l_item<mpl_::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::l_item<mpl_::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::l_item<mpl_::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::l_item<mpl_::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::reverse(gatb::core::debruijn::impl::Node_t<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl_::int_<32>, mpl_::int_<64>, mpl_::int_<96>, mpl_::int_<128> > > > const&) const'
collect2: error: ld returned 1 exit status
CMakeFiles/pandora.dir/build.make:1192: recipe for target 'pandora' failed
make[2]: *** [pandora] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/pandora.dir/all' failed
make[1]: *** [CMakeFiles/pandora.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2

Info about machine:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:   bionic

I also tried to compile dev branch, as it is the branch you compile in the Singularity recipe, but still same error. I looked at the Singularity recipe, and I have all the dependencies, I have no idea why linking fails. I've used GATB before, but never ran into such issues (however, I did not use GATB as external project, I used their New Project script to build tools).

Singularity container manages to compile, so it is fine to run. For people having the same issues (probably just me right now, but for future reference), and want to debug your local code using an IDE or CL, see: https://github.com/leoisl/pandora/blob/master/debug_with_singularity.sh . It is a small script that sets up a singularity container with gdbserver already installed. It does not get the code from the repo, but mounts the local folder, so it is nice for debug and fixing. BTW, I also removed -g -O2 from https://github.com/rmcolq/pandora/blob/master/CMakeLists.txt#L24 in my fork. I guess these parameters should be defined by the user's build type (e.g.: -DCMAKE_BUILD_TYPE=DEBUG or -DCMAKE_BUILD_TYPE=RELEASE). Also, -g with optimization flags might make debugging complicated, since optimizations inline some functions, vars get optimized out, etc...: https://stackoverflow.com/a/7509066.

If you think any of this can be useful for others, I can make a PR.

cheers

rmcolq commented 5 years ago

It seems very temperamental based on exactly which build of things you have and what order they were installed. For now I just use the singularity image which works and recommend that.

Rachel

Sent from my Samsung Galaxy smartphone.

-------- Original message -------- From: leoisl notifications@github.com Date: 08/05/2019 22:07 (GMT+00:00) To: rmcolq/pandora pandora@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [rmcolq/pandora] Linking issues with GATB libs and a possible solution (for debug builds) (#127)

Hello,

I have issues to link pandora executable with GATB libraries. I tried compiling the code with https://github.com/rmcolq/pandora#installation and https://github.com/rmcolq/pandora/blob/master/install.sh , no success. Does anyone know how to fix this? Not a big issue though, since I can run/debug with Singularity container (this might be even better, since with the container, the run and debug environments are uniform?).

This is the build log:

/home/leandro/git/pandora/build/include/gatb/tools/misc/api/Enums.hpp:45:13: warning: ‘void gatb::core::tools::misc::parse(const string&, gatb::core::tools::misc::BankConvertKind&)’ defined but not used [-Wunused-function]

static void parse (const std::string& s, BankConvertKind& kind)

         ^~~~~

[ 39%] Linking CXX executable pandora

CMakeFiles/pandora.dir/src/denovo_discovery/denovo_discovery.cpp.o: In function `DenovoDiscovery::find_paths_through_candidate_region(CandidateRegion&)':

/home/leandro/git/pandora/include/denovo_discovery/local_assembly.h:29: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::GraphTemplate()'

CMakeFiles/pandora.dir/src/denovo_discovery/denovo_discovery.cpp.o: In function `DenovoDiscovery::find_paths_through_candidate_region(CandidateRegion&)':

/home/leandro/git/pandora/src/denovo_discovery/denovo_discovery.cpp:30: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::create(gatb::core::bank::IBank, char const, ...)'

/home/leandro/git/pandora/src/denovo_discovery/denovo_discovery.cpp:30: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::~GraphTemplate()'

CMakeFiles/pandora.dir/src/denovo_discovery/denovo_discovery.cpp.o: In function `DenovoDiscovery::find_paths_through_candidate_region(CandidateRegion&)':

/home/leandro/git/pandora/include/denovo_discovery/local_assembly.h:29: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::~GraphTemplate()'

/home/leandro/git/pandora/include/denovo_discovery/local_assembly.h:29: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::~GraphTemplate()'

CMakeFiles/pandora.dir/src/denovo_discovery/denovo_discovery.cpp.o: In function `DenovoDiscovery::find_paths_through_candidate_region(CandidateRegion&)':

/home/leandro/git/pandora/src/denovo_discovery/denovo_discovery.cpp:30: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::~GraphTemplate()'

CMakeFiles/pandora.dir/src/denovo_discovery/denovo_discovery.cpp.o: In function `DenovoDiscovery::find_paths_through_candidate_region(CandidateRegion&)':

/home/leandro/git/pandora/include/denovo_discovery/local_assembly.h:29: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::~GraphTemplate()'

CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `clean(gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >&, unsigned short const&)':

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:167: undefined reference to `gatb::core::debruijn::impl::Simplifications<gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >, gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > > >::Simplifications(gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >&, int, bool)'

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:178: undefined reference to `gatb::core::debruijn::impl::Simplifications<gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >, gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > > >::simplify()'

CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::depth_first_search_from[abi:cxx11](gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > const&)':

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:69: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::toString[abi:cxx11](gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > const&) const'

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:74: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::toString[abi:cxx11](gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > const&) const'

CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::depth_first_search_from[abi:cxx11](gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > const&)':

/home/leandro/git/pandora/build/include/gatb/debruijn/impl/Graph.hpp:664: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::getNodes(gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >&, gatb::core::debruijn::impl::Direction) const'

CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::depth_first_search_from[abi:cxx11](gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > const&)':

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:76: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::toString[abi:cxx11](gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > const&) const'

CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::build_paths_between(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, gatb::core::debruijn::impl::GraphVector<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, 16>, std::hash<std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, gatb::core::debruijn::impl::GraphVector<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, 16> > > >&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > >&, unsigned int const&, double const&, float const&, unsigned int)':

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:131: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::buildNode(char const*) const'

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:132: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::queryAbundance(gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >&) const'

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:153: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::toString[abi:cxx11](gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > const&) const'

CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::get_node(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)':

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:33: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::buildNode(char const*) const'

CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::get_node(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)':

/home/leandro/git/pandora/build/include/gatb/debruijn/impl/Graph.hpp:609: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::getNodes() const'

CMakeFiles/pandora.dir/src/denovo_discovery/local_assembly.cpp.o: In function `LocalAssemblyGraph::get_node(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)':

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:43: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::toString[abi:cxx11](gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > const&) const'

/home/leandro/git/pandora/src/denovo_discovery/local_assembly.cpp:46: undefined reference to `gatb::core::debruijn::impl::GraphTemplate<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > >, gatb::core::debruijn::impl::Edge_t<gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > >, boost::variant<boost::detail::variant::over_sequence<boost::mpl::litem<mpl::long_<4l>, gatb::core::debruijn::impl::GraphData<32ul>, boost::mpl::litem<mpl::long_<3l>, gatb::core::debruijn::impl::GraphData<64ul>, boost::mpl::litem<mpl::long_<2l>, gatb::core::debruijn::impl::GraphData<96ul>, boost::mpl::litem<mpl::long_<1l>, gatb::core::debruijn::impl::GraphData<128ul>, boost::mpl::l_end> > > > >> >::reverse(gatb::core::debruijn::impl::Nodet<gatb::core::tools::math::IntegerTemplate<boost::mpl::vector4<mpl::int<32>, mpl::int<64>, mpl::int<96>, mpl::int_<128> > > > const&) const'

collect2: error: ld returned 1 exit status

CMakeFiles/pandora.dir/build.make:1192: recipe for target 'pandora' failed

make[2]: *** [pandora] Error 1

CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/pandora.dir/all' failed

make[1]: *** [CMakeFiles/pandora.dir/all] Error 2

Makefile:94: recipe for target 'all' failed

make: *** [all] Error 2

Info about machine:

$ lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 18.04.2 LTS

Release: 18.04

Codename: bionic

I also tried to compile dev branch, as it is the branch you compile in the Singularity recipe, but still same error. I looked at the Singularity recipe, and I have all the dependencies, I have no idea why linking fails. I've used GATB before, but never ran into such issues (however, I did not use GATB as external project, I used their New Project scripthttps://github.com/GATB/gatb-core/blob/master/gatb-core/scripts/NewProject/NewProject.sh to build tools).

Singularity container manages to compile, so it is fine to run. For people having the same issues (probably just me right now, but for future reference), and want to debug your local code using an IDE or CL, see: https://github.com/leoisl/pandora/blob/master/debug_with_singularity.sh . It is a small script that sets up a singularity container with gdbserver already installed. It does not get the code from the repo, but mounts the local folder, so it is nice for debug and fixing. BTW, I also removed -g -O2 from https://github.com/rmcolq/pandora/blob/master/CMakeLists.txt#L24 in my fork. I guess these parameters should be defined by the user's build type (e.g.: -DCMAKE_BUILD_TYPE=DEBUG or -DCMAKE_BUILD_TYPE=RELEASE). Also, -g with optimization flags might make debugging complicated, since optimizations inline some functions, vars get optimized out, etc...: https://stackoverflow.com/a/7509066.

If you think any of this can be useful for others, I can make a PR.

cheers

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/rmcolq/pandora/issues/127, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACLIWO4OR7IXT2MFVYPUP53PUM6HPANCNFSM4HLVHP5Q.

leoisl commented 5 years ago

Yeah, I think Singularity solution is the best also, like that we don't need to worry about the user environment, since it is going to be always uniform. The script is just to make it easier to debug local code with GDB remote. So, ok, let's stick with sing images! Bad thing about the debug script now is that it requires su, but I guess we can get around it by not building from local recipe and building sandbox instead of writable images. Anyway, I guess debugging will be used most locally, not in HPCs, so maybe it is not required...

mbhall88 commented 5 years ago

Welcome to the party! GATB has always found fun ways of causing painful compilation/linking errors.
What commands are you running to build?
What version of gcc?

leoisl commented 5 years ago

hello, thanks haha

I tried compiling the code with https://github.com/rmcolq/pandora#installation and https://github.com/rmcolq/pandora/blob/master/install.sh , no success.

gcc version: gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0

I have a workaround now. I needed to use GATB's 2-bit encoding of sequences in the reimplementation of make_prg. I replicated how they added GATB in BCALM2, but had issues with compiler flags being changed and boost libraries conflicts (GATB have their own boost library as thirdparty, and this clash if you also add another boost library). These issues are solved (see https://github.com/leoisl/make_prg/blob/master/CMakeLists.txt#L39-L91 ) and now it compiles and links with no problem.

We can put this in pandora if you wish, but I think that if the container works, we should not bother. Who knows what other compiler/linking issues other people might get depending on their OS and environment. If this happens, it will be a pain to fix since we probably won't be able to replicate the issue. Singularity makes everything uniform, so we are sure that if it is compiled and linked inside the container, no one will have problem. Still, Singularity does not need root access... I have always worked with Docker, but it was too restricted, specially in HPC. I just learned Singularity when trying to deal with this issue, and I am surprised how good it is.

mbhall88 commented 5 years ago

The issue was that the version of Boost on @leoisl 's system was 1.65.1. Replacing with 1.62.0 fixed the problem so he can now link GATB.