文件错误,尝试安装英特尔功耗工具。

希望还有其他Ubuntu用户尝试过运行Intel Power Gadget,并知道我遇到的问题。
我正在尝试安装Power Gadget,运行make文件时出现错误信息:
/usr/lib/power_gadget/rapl.c:516: undefined reference to `log'

这行代码是指.c文件中的一行。
return (log((double)(time / RAPL_TIME_UNIT)) - A_LNF[F]) / LN2;

这个对数函数是否被正确调用了? 我在我的Ubuntu设置中是否缺少依赖项? 我的下载中可能缺少一个库文件吗?
提前感谢任何帮助。
祝好,
Roz
编辑,下面是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 

你能告诉我们这个文件是如何编译的吗?也许在makefile中有错误:http://stackoverflow.com/questions/9145264/undefined-reference-to-log - Melon
1个回答

我遇到了同样的问题,并成功解决了它,只需将-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