apt-get does not find suggested package (perf tool)
I am using performance counters (https://perf.wiki.kernel.org/index.php/Main_Page) on Ubuntu 13.10 x86_64. If I type perf
I get:
perf not found for kernel 3.11.0-031100
You may need to install linux-tools-3.11.0-031100-generic
But apt-get install ...
does not find it
E: Unable to locate package linux-tools-3.11.0-031100-generic
uname -r
returns 3.11.0-031100-generic
, i.e., a slightly different kernel name (Ubuntu default is 3.11.0-13-generic)
How can I by default install the correct binaries matching the kernel (and/or what repositories do I have to add for this)?
(I know I can work around this by compiling it from the kernel sources in /tools/perf/; this works, but ideally I want to have it done automatically via apt.)
Solution 1:
You need to have both linux-tools
and the kernel in the same version or it won't work:
sudo apt-get install linux-tools linux-generic
sudo reboot
If you are using mainline kernels you must compile perf against the mainline sources, otherwise it will not work.
Solution 2:
I was having the same problem. Whenever I fire perf command I got :
$ perf
perf_2.6.38-1208 not found
You may need to install linux-tools-2.6.38-1208
But actually perf was installed by installing linux-tools
package but it was with different name perf_2.6.38-16
.
So, I am able to use perf with perf_2.6.38-16
command instead of perf
.
You can create alias for perf_2.6.38-16
with name perf
.
Hope someone with same problem may find it useful.