[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: Announcing heaptrack - a Heap Memory Profiler for Linux
From:       Albert Astals Cid <aacid () kde ! org>
Date:       2014-12-09 22:51:04
Message-ID: 40523447.9bTKZAa3BK () xps
[Download RAW message or body]

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 <mail@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[_ZN5b \
oost15program_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_des \
criptionE[_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_t \
raitsIcEEEEElRT_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_t \
raitsIcEEEEElRT_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_t \
raitsIcEEEEElRT_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_t \
raitsIcEEEEElRT_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_EESaI \
S9_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_EESaI \
S9_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_EESaI \
S9_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_EESaI \
S9_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_tr \
aitsIcEEEEElRT_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_tr \
aitsIcEEEEElRT_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_tr \
aitsIcEEEEElRT_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_tr \
aitsIcEEEEElRT_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_tr \
aitsIcEEEEElRT_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_tr \
aitsIcEEEEElRT_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_options16validat \
ion_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_options16validat \
ion_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[_ZTV \
N5boost16exception_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[_ZTV \
N5boost16exception_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 <<


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic