comete erro de arquivo, tentando instalar o Intel Power Gadget

comete erro de arquivo, tentando instalar o Intel Power Gadget

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 -lmsinalizador 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

informação relacionada