sosy-lab / cpu-energy-meter

A tool for measuring energy consumption of Intel CPUs
BSD 3-Clause "New" or "Revised" License
321 stars 29 forks source link

Fails on first make #20

Closed ManuCasillas closed 6 years ago

ManuCasillas commented 6 years ago

In file included from src/util.c:34:0: src/util.h:30:10: error fatal: sys/capability.h: No existe el fichero o el directorio (Does not exist file or directory)

include <sys/capability.h>

      ^~~~~~~~~~~~~~~~~~

compilación terminada. (Finished compilation) make: *** [build/obj/util.o] Error 1

Where is that file?

Thanks in advance.

TBunk commented 6 years ago

Hey ManuCasillas,

in order to successfully compile the project, you'll need to install the libcap-dev package, which implements the capabilities available in Linux kernels, and can be found at https://packages.debian.org/en/sid/libcap-dev (or alternatively, you can install it with a Debian package manager, for example apt install libcap-dev)

Otherwise, no further packages should be necessary for make to compile the project. To execute cpu-energy-meter, you may need to activate the model-specific-registers (msr) afterwards via modprobe msr (needs root-rights). Note that reading from the msr likewise requires root-rights, hence cpu-energy-meter also needs to be executed as root (without further configurations).

Best Regards

ManuCasillas commented 6 years ago

Hi @TBunk!

Firstly, thanks so much for your time. Command 'make' works well after the installation. In my case, I'm working on CentOs and the command is: yum install libcap-devel.x86_64, if anyone would need it.

Secondly, after the execution of command : ':/cpu-energy-meter' an error message just appear: "The processor on the working machine is not from Intel. Found AuthenticAMD-processor instead. Init failed!". Actually i am working on a virtual machine, maybe is that the reason?

Again...Thanks in advance!

TBunk commented 6 years ago

Unfortunately, the model-specific-registers are a feature from Intel and thus only available on CPUs from Intel. They are the core feature which allow cpu-energy-meter to read and calculate the consumed energy for processors, however, this subsequently only works for machines with an Intel-CPU.

Your virtual machine is apparently set up on a working machine that runs on an AMD-CPU, however, they aren't supported by cpu-energy-meter unfortunately (hence the error message why the initialization failed). I'm afraid there's little I can do to help you in this case :(

Best Regards