Re: [PATCH] tools/power turbostat: Fix build with musl

From: Calvin Owens
Date: Sun Jun 15 2025 - 23:47:45 EST


On Monday 06/16 at 01:31 +0000, Zhang, Rui wrote:
> On Fri, 2025-06-13 at 20:45 +0300, Artem Bityutskiy wrote:
> > On Fri, 2025-06-13 at 09:54 -0700, Calvin Owens wrote:
> > >     turbostat.c: In function 'parse_int_file':
> > >     turbostat.c:5567:19: error: 'PATH_MAX' undeclared (first use in
> > > this function)
> > >      5567 |         char path[PATH_MAX];
> > >           |                   ^~~~~~~~
> > >
> > >     turbostat.c: In function 'probe_graphics':
> > >     turbostat.c:6787:19: error: 'PATH_MAX' undeclared (first use in
> > > this function)
> > >      6787 |         char path[PATH_MAX];
> > >           |                   ^~~~~~~~
> > >
> > > Signed-off-by: Calvin Owens <calvin@xxxxxxxxxx>
> > Reviewed-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>
> >
> May I know how to reproduce this?

Hi Rui,

Just build turbostat with musl as libc, here's a quick chroot repro that
works on my Debian laptop:

wget https://gentoo.osuosl.org/releases/amd64/autobuilds/current-stage3-amd64-musl/stage3-amd64-musl-20250601T163943Z.tar.xz
mkdir tmp
sudo tar xf stage3-amd64-musl-20250601T163943Z.tar.xz -C ./tmp
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.15.2.tar.xz
sudo mv linux-6.15.2.tar.xz tmp
sudo chroot tmp /bin/bash
gentoo / # tar xf linux-6.15.2.tar.xz
gentoo / # cd linux-6.15.2/tools/power/x86/turbostat/
gentoo /linux-6.15.2/tools/power/x86/turbostat # make
gcc -O2 -Wall -Wextra -I../../../include -DMSRHEADER='"../../../../arch/x86/include/asm/msr-index.h"' -DINTEL_FAMILY_HEADER='"../../../../arch/x86/include/asm/intel-family.h"' -DBUILD_BUG_HEADER='"../../../../include/linux/build_bug.h"' -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 turbostat.c -o /root/linux-6.15.2/tools/power/x86/turbostat/turbostat -lcap -lrt
turbostat.c: In function 'parse_int_file':
turbostat.c:5567:19: error: 'PATH_MAX' undeclared (first use in this function)
5567 | char path[PATH_MAX];
| ^~~~~~~~
turbostat.c:5567:19: note: each undeclared identifier is reported only once for each function it appears in
turbostat.c:5567:14: warning: unused variable 'path' [-Wunused-variable]
5567 | char path[PATH_MAX];
| ^~~~
turbostat.c: In function 'probe_graphics':
turbostat.c:6787:19: error: 'PATH_MAX' undeclared (first use in this function)
6787 | char path[PATH_MAX];
| ^~~~~~~~
turbostat.c:6787:14: warning: unused variable 'path' [-Wunused-variable]
6787 | char path[PATH_MAX];
| ^~~~
make: *** [Makefile:23: turbostat] Error 1

Thanks,
Calvin