编译失败
user@localhost:~/linux-kernel/tools/power/cpupower$ make
CC lib/cpufreq.o
CC lib/cpupower.o
CC lib/cpuidle.o
LD libcpupower.so.0.0.1
CC utils/helpers/amd.o
CC utils/helpers/msr.o
CC utils/helpers/sysfs.o
CC utils/helpers/misc.o
CC utils/helpers/cpuid.o
CC utils/helpers/pci.o
CC utils/helpers/bitmask.o
CC utils/idle_monitor/nhm_idle.o
CC utils/idle_monitor/snb_idle.o
CC utils/idle_monitor/hsw_ext_idle.o
CC utils/idle_monitor/amd_fam14h_idle.o
CC utils/idle_monitor/cpuidle_sysfs.o
CC utils/idle_monitor/mperf_monitor.o
CC utils/idle_monitor/cpupower-monitor.o
CC utils/cpupower.o
CC utils/cpufreq-info.o
CC utils/cpufreq-set.o
CC utils/cpupower-set.o
CC utils/cpupower-info.o
CC utils/cpuidle-info.o
CC utils/cpuidle-set.o
CC cpupower
/usr/bin/ld: cannot find -lpci
collect2: error: ld returned 1 exit status
make: *** [Makefile:226: cpupower] Error 1
安装工具包
# apt install libpci-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libudev-dev
The following NEW packages will be installed:
libpci-dev libudev-dev
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 64.5 kB of archives.
After this operation, 483 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.163.com/ubuntu-ports focal/main arm64 libudev-dev arm64 245.4-4ubuntu3 [19.7 kB]
Get:2 http://mirrors.163.com/ubuntu-ports focal/main arm64 libpci-dev arm64 1:3.6.4-1 [44.8 kB]
Fetched 64.5 kB in 3s (24.6 kB/s)
Selecting previously unselected package libudev-dev:arm64.
(Reading database ... 136656 files and directories currently installed.)
Preparing to unpack .../libudev-dev_245.4-4ubuntu3_arm64.deb ...
Unpacking libudev-dev:arm64 (245.4-4ubuntu3) ...
Selecting previously unselected package libpci-dev:arm64.
Preparing to unpack .../libpci-dev_1%3a3.6.4-1_arm64.deb ...
Unpacking libpci-dev:arm64 (1:3.6.4-1) ...
Setting up libudev-dev:arm64 (245.4-4ubuntu3) ...
Setting up libpci-dev:arm64 (1:3.6.4-1) ...
Processing triggers for man-db (2.9.1-1) ...
重新编译
user@localhost:~/linux_kernel/tools/power/cpupower$ make
CC cpupower
MSGFMT po/de.gmo
MSGFMT po/fr.gmo
MSGFMT po/it.gmo
MSGFMT po/cs.gmo
MSGFMT po/pt.gmo
make[1]: Entering directory '/home/user/linux_kernel/tools/power/cpupower/bench'
CC main.o
CC parse.o
In file included from /usr/include/string.h:495,
from parse.c:23:
In function ‘strncpy’,
inlined from ‘prepare_default_config’ at parse.c:148:2:
/usr/include/aarch64-linux-gnu/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC system.o
CC benchmark.o
CC cpufreq-bench
make[1]: Leaving directory '/home/user/linux_kernel/tools/power/cpupower/bench'
参考
报错bug解决
https://zhuanlan.zhihu.com/p/345068193