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

From: Zhang, Rui
Date: Tue Jun 17 2025 - 23:31:07 EST


On Sun, 2025-06-15 at 20:47 -0700, Calvin Owens wrote:
> 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:

Thanks for the clarification.
I have no objection if that is the case.

thanks,
rui
>
>     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