Espero que outro usuário do Ubuntu tenha tentado executar o Intel Power Gadget e saiba qual problema estou tendo.
Estou tentando instalar o power gadget, executando o arquivo make, recebo uma mensagem de erro:
/usr/lib/power_gadget/rapl.c:516: undefined reference to `log'
Esta linha refere-se à linha em um arquivo .c:
return (log((double)(time / RAPL_TIME_UNIT)) - A_LNF[F]) / LN2;
Esta função de log está sendo chamada corretamente? Estou faltando uma dependência na minha configuração do Ubuntu? Talvez haja um arquivo de biblioteca faltando no meu download?
Agradecemos antecipadamente por qualquer ajuda
Cumprimentos
Rosa
Edite, o arquivo make está abaixo:
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
Responder1
Eu tive o mesmo problema e consegui resolvê-lo simplesmente mudando o -lm
sinalizador para o final do comando GCC.
Então o Makefile agora fica assim:
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