파일 오류가 발생했습니다. 인텔 파워 가젯을 설치하는 중입니다.

파일 오류가 발생했습니다. 인텔 파워 가젯을 설치하는 중입니다.

다른 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 설정에 대한 종속성이 누락되었나요? 내 다운로드에 누락된 라이브러리 파일이 있습니까?

도움을 주셔서 미리 감사드립니다.

문안 인사

로즈

편집하세요. 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 

답변1

나는 동일한 문제를 겪었고 단순히 -lmGCC 명령의 끝으로 플래그를 변경하여 문제를 해결할 수 있었습니다.

이제 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

관련 정보