Re: [Buildroot] [PATCH v4] package/heaptrack: new package

Julien Olivain via buildroot <[email protected]>
Newsgroups net.busybox.buildroot
Message-ID <[email protected]>
Hi Luca,

Thanks for the update.

On 21/08/2026 21:51, Luca Ceresoli via buildroot wrote:
> Add heaptrack, a memory allocation tracer toolkit.
> 
> This implementation builds all the command line components, not the
> heaptrack_gui graphical visualization program.
> 
> Signed-off-by: Luca Ceresoli <[email protected]>
> ---
[...]
> diff --git a/package/heaptrack/Config.in b/package/heaptrack/Config.in
> new file mode 100644
> index 000000000000..808193a73f68
> --- /dev/null
> +++ b/package/heaptrack/Config.in
> @@ -0,0 +1,39 @@
> +config BR2_PACKAGE_HEAPTRACK
> +	bool "heaptrack"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libunwind, elfutils
> +	depends on BR2_USE_WCHAR # boost, elfutils
> +	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # 
> boost-filesystem
> +	depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS # libunwind
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libunwind

There is one last build failure with test-pkg:
https://gitlab.com/jolivain/buildroot/-/jobs/16041509274

It seems that heaptrack is using std::filesystem:
https://invent.kde.org/sdk/heaptrack/-/blob/master/src/interpret/heaptrack_interpret.cpp?ref_type=heads#L15

which is a C++17 feature which was fully implemented in gcc 8.1:
https://gcc.gnu.org/gcc-8/changes.html#libstdcxx

So I believe this gcc version should be raised at gcc >= 8.

	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem

The comment should also be updated below.

> +	depends on !BR2_STATIC_LIBS # libunwind, elfutils
> +	depends on !BR2_TOOLCHAIN_USES_UCLIBC # no dlmopen() support
> +	select BR2_PACKAGE_BOOST
> +	select BR2_PACKAGE_BOOST_IOSTREAMS
> +	select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
> +	# For heaptrack_print
> +	select BR2_PACKAGE_BOOST_FILESYSTEM
> +	select BR2_PACKAGE_ELFUTILS
> +	select BR2_PACKAGE_LIBUNWIND
> +	select BR2_PACKAGE_ZLIB
> +	help
> +	  Heaptrack traces all memory allocations and annotates these
> +	  events with stack traces. Dedicated analysis tools then allow
> +	  you to interpret the heap memory profile to find hotspots,
> +	  memory leaks, allocation hotspots and temporary allocations.
> +
> +	  Zstandard offers better (de)compression performance compared
> +	  with gzip/zlib, making heaptrack faster and datafiles smaller,
> +	  so enabling BR2_PACKAGE_ZSTD is recommended.
> +
> +	  https://apps.kde.org/heaptrack/
> +
> +comment "heaptrack needs a glibc or musl toolchain w/ C++, threads, 
> wchar, gcc >= 4.9, dynamic library"

"needs gcc >= 8"

> +	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> +	depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
> +	depends on !BR2_INSTALL_LIBSTDCPP \
> +		|| !BR2_TOOLCHAIN_HAS_THREADS \
> +		|| !BR2_USE_WCHAR \
> +		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \

		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_8 \

> +		|| BR2_STATIC_LIBS \
> +		|| BR2_TOOLCHAIN_USES_UCLIBC
[...]

Could you send an updated patch please?

Best regards,

Julien.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.