make file error,试图安装intel power gadget

我希望另一个Ubuntu用户尝试运行英特尔电源小工具并知道我遇到了什么问题。

我正在尝试安装电源小工具,运行make文件我收到一条错误消息:

/usr/lib/power_gadget/rapl.c:516: undefined reference to `log' 

此行指的是.c文件中的行:

 return (log((double)(time / RAPL_TIME_UNIT)) - A_LNF[F]) / LN2; 

是否正确调用了此日志function? 我错过了对Ubuntu设置的依赖吗? 我的下载中是否可能缺少库文件?

在此先感谢您的帮助

问候

罗兹

编辑,make文件如下:

 CFLAGS=-g all: rapl_lib_shared rapl_lib_static power_gadget_static rapl_lib_shared: gcc $(CFLAGS) -fpic -c msr.c cpuid.c rapl.c gcc $(CFLAGS) -shared -o librapl.so msr.o cpuid.o rapl.o rapl_lib_static: gcc $(CFLAGS) -c msr.c cpuid.c rapl.c ar rcs librapl.a msr.o cpuid.o rapl.o power_gadget_static: gcc $(CFLAGS) power_gadget.c -I. -L. -lm -o power_gadget ./librapl.a power_gadget: gcc $(CFLAGS) power_gadget.c -I. -L. -lm -lrapl -o power_gadget gprof: CFLAGS = -pg gprof: all ./power_gadget -e 100 -d 60 >/dev/null 2>&1 gprof power_gadget > power_gadget.gprof rm -f gmon.out make clean clean: rm -f power_gadget librapl.so librapl.a msr.o cpuid.o rapl.o 

我遇到了同样的问题并设法通过简单地将-lm标志更改为GCC命令的结尾来解决它。

所以Makefile现在看起来像这样:

 CFLAGS=-g all: rapl_lib_shared rapl_lib_static power_gadget_static rapl_lib_shared: gcc $(CFLAGS) -fpic -c msr.c cpuid.c rapl.c gcc $(CFLAGS) -shared -o librapl.so msr.o cpuid.o rapl.o rapl_lib_static: gcc $(CFLAGS) -c msr.c cpuid.c rapl.c ar rcs librapl.a msr.o cpuid.o rapl.o power_gadget_static: gcc $(CFLAGS) power_gadget.c -I. -L. -o power_gadget ./librapl.a -lm power_gadget: gcc $(CFLAGS) power_gadget.c -I. -L. -lrapl -o power_gadget -lm gprof: CFLAGS = -pg gprof: all ./power_gadget -e 100 -d 60 >/dev/null 2>&1 gprof power_gadget > power_gadget.gprof rm -f gmon.out make clean clean: rm -f power_gadget librapl.so librapl.a msr.o cpuid.o rapl.o