El Dimarts, 9 de desembre de 2014, a les 02:15:58, Milian Wolff va escriure: > On Wednesday 03 December 2014 01:51:57 Aleix Pol wrote: > > On Tue, Dec 2, 2014 at 6:59 PM, Milian Wolff <m...@milianw.de> wrote: > > > Hey all, > > > > > > I have just finished writing a lengthy introduction to heaptrack, an > > > alternative to Massif, see: > > > > > > http://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux > > > > > > I'd like to see more people starting to use it. Any feedback, or even > > > patches, > > > is welcome! > > > > > > Especially, I'd love to see more people use it on their pet project in > > > KDE. > > > Quite often, you'll find useless temporary allocations, overly large > > > memory > > > consumption or even significant memory leaks. C++/Qt/KDE code can be > > > extremely > > > efficient, but you have to code accordingly. If you have any questions > > > to > > > the > > > results you obtain from heaptrack, or how to improve the situation, > > > don't > > > hesitate to ask me. Please ask on a public mailing list, such that > > > others > > > can > > > benefit from the discussion as well. > > > > > > Furthermore, I hereby request an official code review. Heaptrack > > > currently > > > lives in a scratch repository: > > > > > > http://quickgit.kde.org/?p=scratch%2Fmwolff%2Fheaptrack.git > > > > > > I want to move this to extragear, skipping playground altogether, if > > > possible. > > > > Cool stuff! I'll definitely give it a try! > > > > Regarding the move to extragear, you can start requesting the repository > > to > > get it in playground and then request the move to kdereview, if you're > > confident it's pristine. ;) > > Heaptrack is now in kdereview, I'd like to invite everyone to review my code > at the new location: > > git clone kde:heaptrack
Doesn't link here. Linking CXX executable heaptrack_print CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `main': heaptrack_print.cpp:(.text+0x3f4f): undefined reference to `boost::program_options::options_description::m_default_line_length' heaptrack_print.cpp:(.text+0x3f5a): undefined reference to `boost::program_options::options_description::m_default_line_length' heaptrack_print.cpp:(.text+0x3f9f): undefined reference to `boost::program_options::options_description::options_description(std::string const&, unsigned int, unsigned int)' heaptrack_print.cpp:(.text+0x4222): undefined reference to `boost::program_options::options_description::add_options()' heaptrack_print.cpp:(.text+0x4245): undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)' heaptrack_print.cpp:(.text+0x425a): undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)' heaptrack_print.cpp:(.text+0x426f): undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)' heaptrack_print.cpp:(.text+0x4284): undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)' heaptrack_print.cpp:(.text+0x4299): undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o:heaptrack_print.cpp: (.text+0x42b2): more undefined references to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)' follow CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `main': heaptrack_print.cpp:(.text+0x4341): undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)' heaptrack_print.cpp:(.text+0x436e): undefined reference to `boost::program_options::positional_options_description::positional_options_description()' heaptrack_print.cpp:(.text+0x4387): undefined reference to `boost::program_options::positional_options_description::add(char const*, int)' heaptrack_print.cpp:(.text+0x4396): undefined reference to `boost::program_options::variables_map::variables_map()' heaptrack_print.cpp:(.text+0x4415): undefined reference to `boost::program_options::store(boost::program_options::basic_parsed_options<char> const&, boost::program_options::variables_map&, bool)' heaptrack_print.cpp:(.text+0x44fa): undefined reference to `boost::program_options::operator<<(std::ostream&, boost::program_options::options_description const&)' heaptrack_print.cpp:(.text+0x4520): undefined reference to `boost::program_options::notify(boost::program_options::variables_map&)' heaptrack_print.cpp:(.text+0x4bc7): undefined reference to `boost::program_options::operator<<(std::ostream&, boost::program_options::options_description const&)' heaptrack_print.cpp:(.text+0x52b9): undefined reference to `boost::program_options::operator<<(std::ostream&, boost::program_options::options_description const&)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::iostreams::gzip_error::gzip_error(int)': heaptrack_print.cpp: (.text._ZN5boost9iostreams10gzip_errorC2Ei[_ZN5boost9iostreams10gzip_errorC5Ei]+0x82): undefined reference to `boost::iostreams::zlib::okay' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::iostreams::detail::gzip_header::gzip_header()': heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail11gzip_headerC2Ev[_ZN5boost9iostreams6detail11gzip_headerC5Ev]+0x31): undefined reference to `boost::iostreams::detail::gzip_header::reset()' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::iostreams::detail::gzip_footer::gzip_footer()': heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail11gzip_footerC2Ev[_ZN5boost9iostreams6detail11gzip_footerC5Ev]+0x14): undefined reference to `boost::iostreams::detail::gzip_footer::reset()' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::error_with_option_name::~error_with_option_name()': heaptrack_print.cpp: (.text._ZN5boost15program_options22error_with_option_nameD2Ev[_ZN5boost15program_options22error_with_option_nameD5Ev]+0x13): undefined reference to `vtable for boost::program_options::error_with_option_name' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::string const&, std::string const&, int)': heaptrack_print.cpp: (.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKSsS4_i]+0x3d): undefined reference to `boost::program_options::validation_error::get_template(boost::program_options::validation_error::kind_t)' heaptrack_print.cpp: (.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKSsS4_i]+0x5b): undefined reference to `boost::program_options::error_with_option_name::error_with_option_name(std::string const&, std::string const&, std::string const&, int)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::value_semantic_codecvt_helper<char>::value_semantic_codecvt_helper()': heaptrack_print.cpp: (.text._ZN5boost15program_options29value_semantic_codecvt_helperIcEC2Ev[_ZN5boost15program_options29value_semantic_codecvt_helperIcEC5Ev]+0x1f): undefined reference to `vtable for boost::program_options::value_semantic_codecvt_helper<char>' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::value_semantic_codecvt_helper<char>::~value_semantic_codecvt_helper()': heaptrack_print.cpp: (.text._ZN5boost15program_options29value_semantic_codecvt_helperIcED2Ev[_ZN5boost15program_options29value_semantic_codecvt_helperIcED5Ev]+0x13): undefined reference to `vtable for boost::program_options::value_semantic_codecvt_helper<char>' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::variables_map::operator[](std::string const&) const': heaptrack_print.cpp: (.text._ZNK5boost15program_options13variables_mapixERKSs[_ZNK5boost15program_options13variables_mapixERKSs]+0x1f): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*)': heaptrack_print.cpp: (.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x81): undefined reference to `boost::program_options::detail::cmdline::cmdline(std::vector<std::string, std::allocator<std::string> > const&)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::basic_command_line_parser<char>::options(boost::program_options::options_description const&)': heaptrack_print.cpp: (.text._ZN5boost15program_options25basic_command_line_parserIcE7optionsERKNS0_19options_descriptionE[_ZN5boost15program_options25basic_command_line_parserIcE7optionsERKNS0_19options_descriptionE]+0x1f): undefined reference to `boost::program_options::detail::cmdline::set_options_description(boost::program_options::options_description const&)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::basic_command_line_parser<char>::positional(boost::program_options::positional_options_description const&)': heaptrack_print.cpp: (.text._ZN5boost15program_options25basic_command_line_parserIcE10positionalERKNS0_30positional_options_descriptionE[_ZN5boost15program_options25basic_command_line_parserIcE10positionalERKNS0_30positional_options_descriptionE]+0x1f): undefined reference to `boost::program_options::detail::cmdline::set_positional_options(boost::program_options::positional_options_description const&)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::basic_command_line_parser<char>::run()': heaptrack_print.cpp: (.text._ZN5boost15program_options25basic_command_line_parserIcE3runEv[_ZN5boost15program_options25basic_command_line_parserIcE3runEv]+0x28): undefined reference to `boost::program_options::detail::cmdline::get_canonical_option_prefix()' heaptrack_print.cpp: (.text._ZN5boost15program_options25basic_command_line_parserIcE3runEv[_ZN5boost15program_options25basic_command_line_parserIcE3runEv]+0x54): undefined reference to `boost::program_options::detail::cmdline::run()' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `std::vector<std::string, std::allocator<std::string> > boost::program_options::to_internal<std::string>(std::vector<std::string, std::allocator<std::string> > const&)': heaptrack_print.cpp: (.text._ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE[_ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE]+0x55): undefined reference to `boost::program_options::to_internal(std::string const&)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::make_params(int)': heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE11make_paramsEi[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE11make_paramsEi]+0x63): undefined reference to `boost::iostreams::zlib::default_strategy' heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE11make_paramsEi[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE11make_paramsEi]+0x69): undefined reference to `boost::iostreams::zlib::deflated' heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE11make_paramsEi[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE11make_paramsEi]+0x6f): undefined reference to `boost::iostreams::zlib::default_compression' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >::zlib_decompressor_impl(boost::iostreams::zlib_params const&)': heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEEC2ERKNS0_11zlib_paramsE[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEEC5ERKNS0_11zlib_paramsE]+0x19): undefined reference to `boost::iostreams::detail::zlib_base::zlib_base()' heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEEC2ERKNS0_11zlib_paramsE[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEEC5ERKNS0_11zlib_paramsE]+0x66): undefined reference to `boost::iostreams::detail::zlib_base::~zlib_base()' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >::~zlib_decompressor_impl()': heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEED2Ev[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEED5Ev]+0x1e): undefined reference to `boost::iostreams::detail::zlib_base::reset(bool, bool)' heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEED2Ev[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEED5Ev]+0x36): undefined reference to `boost::iostreams::detail::zlib_base::~zlib_base()' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `void boost::iostreams::detail::zlib_base::init<std::allocator<char> >(boost::iostreams::zlib_params const&, bool, boost::iostreams::detail::zlib_allocator<std::allocator<char>, boost::iostreams::detail::zlib_allocator_traits<std::allocator<char> >::type>&)': heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail9zlib_base4initISaIcEEEvRKNS0_11zlib_paramsEbRNS1_14zlib_allocatorIT_NS1_21zlib_allocator_traitsIS9_E4typeEEE[_ZN5boost9iostreams6detail9zlib_base4initISaIcEEEvRKNS0_11zlib_paramsEbRNS1_14zlib_allocatorIT_NS1_21zlib_allocator_traitsIS9_E4typeEEE]+0x5d): undefined reference to `boost::iostreams::detail::zlib_base::do_init(boost::iostreams::zlib_params const&, bool, void* (*)(void*, unsigned int, unsigned int), void (*)(void*, void*), void*)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long)': heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE5writeINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_PKcl[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE5writeINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_PKcl]+0x58): undefined reference to `boost::iostreams::detail::gzip_header::reset()' heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE5writeINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_PKcl[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE5writeINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_PKcl]+0x68): undefined reference to `boost::iostreams::detail::gzip_footer::reset()' heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE5writeINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_PKcl[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE5writeINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_PKcl]+0xab): undefined reference to `boost::iostreams::detail::gzip_header::process(char)' heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE5writeINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_PKcl[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE5writeINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_PKcl]+0x1f0): undefined reference to `boost::iostreams::detail::gzip_footer::process(char)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >::filter(char const*&, char const*, char*&, char*, bool)': heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b]+0x3d): undefined reference to `boost::iostreams::detail::zlib_base::before(char const*&, char const*, char*&, char*)' heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b]+0x43): undefined reference to `boost::iostreams::zlib::sync_flush' heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b]+0x51): undefined reference to `boost::iostreams::detail::zlib_base::xinflate(int)' heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b]+0x6d): undefined reference to `boost::iostreams::detail::zlib_base::after(char const*&, char*&, bool)' heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b]+0x77): undefined reference to `boost::iostreams::zlib_error::check(int)' heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b]+0x7d): undefined reference to `boost::iostreams::zlib::stream_end' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >::close()': heaptrack_print.cpp: (.text._ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE5closeEv[_ZN5boost9iostreams6detail22zlib_decompressor_implISaIcEE5closeEv]+0x26): undefined reference to `boost::iostreams::detail::zlib_base::reset(bool, bool)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost15program_options11typed_valueImcEE[_ZTVN5boost15program_options11typed_valueImcEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost15program_options11typed_valueIdcEE[_ZTVN5boost15program_options11typed_valueIdcEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost15program_options11typed_valueIbcEE[_ZTVN5boost15program_options11typed_valueIbcEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost15program_options11typed_valueISscEE[_ZTVN5boost15program_options11typed_valueISscEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x20): undefined reference to `boost::program_options::error_with_option_name::what() const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost15program_options16validation_errorE[_ZTVN5boost15program_options16validation_errorE]+0x20): undefined reference to `boost::program_options::error_with_option_name::what() const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost15program_options16validation_errorE[_ZTVN5boost15program_options16validation_errorE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTIN5boost15program_options11typed_valueImcEE[_ZTIN5boost15program_options11typed_valueImcEE]+0x18): undefined reference to `typeinfo for boost::program_options::value_semantic_codecvt_helper<char>' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTIN5boost15program_options11typed_valueIdcEE[_ZTIN5boost15program_options11typed_valueIdcEE]+0x18): undefined reference to `typeinfo for boost::program_options::value_semantic_codecvt_helper<char>' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTIN5boost15program_options11typed_valueIbcEE[_ZTIN5boost15program_options11typed_valueIbcEE]+0x18): undefined reference to `typeinfo for boost::program_options::value_semantic_codecvt_helper<char>' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTIN5boost15program_options11typed_valueISscEE[_ZTIN5boost15program_options11typed_valueISscEE]+0x18): undefined reference to `typeinfo for boost::program_options::value_semantic_codecvt_helper<char>' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTIN5boost15program_options16validation_errorE[_ZTIN5boost15program_options16validation_errorE]+0x10): undefined reference to `typeinfo for boost::program_options::error_with_option_name' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::variables_map::~variables_map()': heaptrack_print.cpp: (.text._ZN5boost15program_options13variables_mapD2Ev[_ZN5boost15program_options13variables_mapD5Ev]+0x13): undefined reference to `vtable for boost::program_options::variables_map' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::typed_value<unsigned long, char>::name() const': heaptrack_print.cpp: (.text._ZNK5boost15program_options11typed_valueImcE4nameEv[_ZNK5boost15program_options11typed_valueImcE4nameEv]+0x35): undefined reference to `boost::program_options::arg' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::typed_value<double, char>::name() const': heaptrack_print.cpp: (.text._ZNK5boost15program_options11typed_valueIdcE4nameEv[_ZNK5boost15program_options11typed_valueIdcE4nameEv]+0x35): undefined reference to `boost::program_options::arg' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::typed_value<bool, char>::name() const': heaptrack_print.cpp: (.text._ZNK5boost15program_options11typed_valueIbcE4nameEv[_ZNK5boost15program_options11typed_valueIbcE4nameEv]+0x35): undefined reference to `boost::program_options::arg' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::typed_value<bool, char>::xparse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&) const': heaptrack_print.cpp: (.text._ZNK5boost15program_options11typed_valueIbcE6xparseERNS_3anyERKSt6vectorISsSaISsEE[_ZNK5boost15program_options11typed_valueIbcE6xparseERNS_3anyERKSt6vectorISsSaISsEE]+0x7a): undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool*, int)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::typed_value<std::string, char>::name() const': heaptrack_print.cpp: (.text._ZNK5boost15program_options11typed_valueISscE4nameEv[_ZNK5boost15program_options11typed_valueISscE4nameEv]+0x35): undefined reference to `boost::program_options::arg' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::typed_value<std::string, char>::xparse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&) const': heaptrack_print.cpp: (.text._ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE[_ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE]+0x7a): undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `void boost::program_options::validate<unsigned long, char>(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, unsigned long*, long)': heaptrack_print.cpp: (.text._ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l[_ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l]+0x42): undefined reference to `boost::program_options::validators::check_first_occurrence(boost::any const&)' heaptrack_print.cpp: (.text._ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l[_ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l]+0x13e): undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::string const&)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `void boost::program_options::validate<double, char>(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, double*, long)': heaptrack_print.cpp: (.text._ZN5boost15program_options8validateIdcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l[_ZN5boost15program_options8validateIdcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l]+0x42): undefined reference to `boost::program_options::validators::check_first_occurrence(boost::any const&)' heaptrack_print.cpp: (.text._ZN5boost15program_options8validateIdcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l[_ZN5boost15program_options8validateIdcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l]+0x143): undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::string const&)' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `boost::program_options::error_with_option_name::error_with_option_name(boost::program_options::error_with_option_name const&)': heaptrack_print.cpp: (.text._ZN5boost15program_options22error_with_option_nameC2ERKS1_[_ZN5boost15program_options22error_with_option_nameC5ERKS1_]+0x2b): undefined reference to `vtable for boost::program_options::error_with_option_name' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: In function `long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::read<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char*, long)': heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl]+0x99): undefined reference to `boost::iostreams::detail::gzip_header::reset()' heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl]+0xac): undefined reference to `boost::iostreams::detail::gzip_footer::reset()' heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl]+0x13c): undefined reference to `boost::iostreams::detail::gzip_header::process(char)' heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl]+0x2be): undefined reference to `boost::iostreams::detail::gzip_footer::process(char)' heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl]+0x3b2): undefined reference to `boost::iostreams::detail::gzip_header::reset()' heaptrack_print.cpp: (.text._ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl[_ZN5boost9iostreams23basic_gzip_decompressorISaIcEE4readINS0_6detail16linked_streambufIcSt11char_traitsIcEEEEElRT_Pcl]+0x3c5): undefined reference to `boost::iostreams::detail::gzip_footer::reset()' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x28): undefined reference to `boost::program_options::error_with_option_name::what() const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x38): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x20): undefined reference to `boost::program_options::error_with_option_name::what() const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x28): undefined reference to `boost::program_options::error_with_option_name::what() const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x38): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x20): undefined reference to `boost::program_options::error_with_option_name::what() const' CMakeFiles/heaptrack_print.dir/heaptrack_print.cpp.o: (.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' collect2: error: ld returned 1 exit status CMakeFiles/heaptrack_print.dir/build.make:85: recipe for target 'heaptrack_print' failed make[2]: *** [heaptrack_print] Error 1 CMakeFiles/Makefile2:165: recipe for target 'CMakeFiles/heaptrack_print.dir/all' failed make[1]: *** [CMakeFiles/heaptrack_print.dir/all] Error 2 Makefile:117: recipe for target 'all' failed make: *** [all] Error 2 > > I've now also added code that allows injecting heaptrack into an already > running process. It's maybe a bit buggy still, but testers are welcome to > try it out: heaptrack -p $(pidof ...) > > The next steps on my agenda are unit tests. > > Bye > > >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe > >> << >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<