перф сломан из-за libc

Я пытаюсь установить perf на Ubuntu 18.04. Тем не менее, я столкнулся с libc проблемой зависимости:

$ perf
WARNING: perf not found for kernel 5.0.0-21

  You may need to install the following packages for this specific kernel:
    linux-tools-5.0.0-21-generic
    linux-cloud-tools-5.0.0-21-generic
$ sudo apt install linux-cloud-tools-5.0.0-21-generic
The following packages have unmet dependencies:
 linux-tools-5.0.0-21-generic : Depends: linux-tools-5.0.0-21 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
$ sudo apt install linux-cloud-tools-5.0.0-21
The following packages have unmet dependencies:
 linux-tools-5.0.0-21 : Depends: libc6 (>= 2.28) but 2.27-3ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.
$ sudo apt install libc6
libc6 is already the newest version (2.27-3ubuntu1).
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:   bionic

Кто-нибудь еще сталкивался с этим, и есть ли способ обойти это?

0
задан 10 July 2019 в 21:36

2 ответа

В рекомендации @DougSmithies я сделал исходную сборку perf. Это было довольно легко, но не тривиально, таким образом, вот инструкции.

1) Клонируйте ядро Linux:

$ git clone https://github.com/torvalds/linux.git

2) Найдите свое ядро через uname -r, и контроль соответствующее ответвление ядра через поиск git tags. Таким образом для меня:

linux$ git checkout v5.0

3) Установите несколько зависимостей:

linux$ sudo apt install bison flex libelf-dev systemtap-sdt-dev libssl-dev libslang2-dev liblzma-dev libdw-dev libunwind-dev libgtk2.0-dev binutils-dev libbabeltrace-dev libiberty-dev libperl-dev libaudit-dev

tools/perf/Makefile объяснит цель каждой зависимости.

3) Изменение в perf каталог, и выполненный:

linux/tools/perf$ make
linux/tools/perf$ make install

4) Редактирование /proc/sys/kernel/perf_event_paranoid (и/или?) /etc/sysctl.conf так, чтобы единственное значение там было -1.

5) Получите корневую оболочку и

$ sudo bash
# echo 0 > /proc/sys/kernel/kptr_restrict

Теперь я имею perf!

1
ответ дан 24 October 2019 в 00:17

Кажется, что Вы бионически предложили в своем sources.list. Раз так

 sudo apt install -t bionic-proposed linux-tools-generic-hwe-18.04-edge linux-cloud-tools-generic-hwe-18.04-edge

Это может только работать, если Вы бионически предложили, интегрируется.

sudo apt --dry-run install -t bionic-proposed linux-tools-generic-hwe-18.04-edge linux-cloud-tools-generic-hwe-18.04-edge
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  linux-cloud-tools-5.0.0-21-generic linux-cloud-tools-common linux-hwe-cloud-tools-5.0.0-21 linux-hwe-tools-5.0.0-21
  linux-tools-5.0.0-21-generic
The following packages will be REMOVED:
  libllvm7*
The following NEW packages will be installed:
  linux-cloud-tools-5.0.0-21-generic linux-cloud-tools-common linux-cloud-tools-generic-hwe-18.04-edge
  linux-hwe-cloud-tools-5.0.0-21 linux-hwe-tools-5.0.0-21 linux-tools-5.0.0-21-generic linux-tools-generic-hwe-18.04-edge

надрез

0
ответ дан 24 October 2019 в 00:17

Другие вопросы по тегам:

Похожие вопросы: