Как проверить, что события перфекта включены в ядре Linux, и как установить пространство пользователя перфекта как некорневое?

Согласно FAQ VIM можно использовать :put команда:

12.15. Как я вставляю пустую строку выше/ниже текущей строки, не вводя режим вставки?

Можно использовать ": помещенный" исключая командой для вставки пустых строк. Например, попробовать

:put = ''
:put! = ''

Для получения дополнительной информации читать

:help: поместить

но затем действительно легче добавить:

map  o
map  O

к Вашему .vimrc. Таким образом, можно нажать Enter или Shift-Enter в normal mode вставить пустую строку ниже или выше текущей строки. Конечно, замена и с Вашими предпочтительными ключами.

6
22.06.2011, 21:04
1 ответ

Как установить perf инструмент пространства пользователя как некорневой

  1. Получите/найдите источники для kernel-2.6.36-gentoo-r4 (в хинду Linux). Первая проверка из этого ответа

    На самом деле сначала необходимо посмотреть на /usr/src/linux и посмотрите, установлены ли источники ядра все еще. Вы могли просто скопировать их в каталог, в который можно записать.)

    был достаточно, хотя вместо того, чтобы копировать целые источники ядра я просто связал их:

    $ mkdir -p build
    $ cd build
    $ ln -s /usr/src/linux-2.6.36-gentoo-r4
    
  2. Создайте каталог где perf был бы создан, поскольку я не смогу записать в ~/build/linux-2.6.36-gentoo-r4 каталог.

    $ mkdir -p perf
    

    На самом деле это не было тем, от чего я сделал сначала... сообщения об ошибках make были совершенно бесполезны сначала.

  3. Перейдите в tools/perf каталог в источниках ядра

    $ cd linux-2.6.36-gentoo-r4/tools/perf
    
  4. Сборка perf, не упущение о передаче O=<destdir> опция к make-файлу как каталог не перезаписываема (не было бы такой проблемы, если бы я скопировал, а не symlinked источники ядра).

    $ make O=~/build/perf -k 
    Makefile:565: newt not found, disables TUI support. Please install newt-devel or libnewt-dev
        * new build flags or prefix
        CC ~/build/perf/perf.o
        CC ~/build/perf/builtin-annotate.o
        [...]
        CC ~/build/perf/util/scripting-engines/trace-event-python.o
        CC ~/build/perf/scripts/python/Perf-Trace-Util/Context.o
        AR ~/build/perf/libperf.a
        LINK ~/build/perf/perf
    ~/build/perf/libperf.a(trace-event-perl.o): In function `define_flag_value':
    ~/build/linux-2.6.36-gentoo-r4/tools/perf/util/scripting-engines/trace-event-perl.c:127: undefined reference to `PL_stack_sp'
    ~/build/linux-2.6.36-gentoo-r4/tools/perf/util/scripting-engines/trace-event-perl.c:131: undefined reference to `Perl_push_scope'
    [...]
    ~/build/perf/libperf.a(trace-event-python.o): In function `handler_call_die':
    ~/build/linux-2.6.36-gentoo-r4/tools/perf/util/scripting-engines/trace-event-python.c:53: undefined reference to `PyErr_Print'
    [...]
    collect2: ld returned 1 exit status
    make: *** [/home/narebski/build/perf/perf] Error 1
        GEN perf-archive
    make: Target `all' not remade because of errors.
    
  5. Google для "неопределенной ссылки на 'Perl_push_scope'". Найдите, что Сбой устанавливает перфект на slackware 13.1 на unix.stackexchange.com. Последуйте совету в сам ответ, или быть большим количеством экс-кошки диагноз:

    $ make O=~/build/perf -k NO_LIBPERL=1 NO_LIBPYTHON=1
    Makefile:565: newt not found, disables TUI support. Please install newt-devel or libnewt-dev
        * new build flags or prefix
        CC ~/build/perf/perf.o
        CC ~/build/perf/builtin-annotate.o
        [...]
        CC ~/build/perf/util/probe-finder.o
        AR ~/build/perf/libperf.a
        LINK ~/build/perf/perf
        GEN perf-archive
    

    Обратите внимание, что это - обходное решение, а не решение (я имею libperl.so).

  6. Проверьте Make-файл на место назначения установки по умолчанию: $(HOME). Установка perf в собственном корневом каталоге:

    $ make O=~/build/perf -k NO_LIBPERL=1 NO_LIBPYTHON=1 install
    Makefile:565: newt not found, disables TUI support. Please install newt-devel or libnewt-dev
        GEN perf-archive
    install -d -m 755 '~/bin'
    install ~/build/perf/perf '~/bin'
    [...]
    install scripts/python/bin/* -t '~/libexec/perf-core/scripts/python/bin'
    
  7. Проверьте это ~/bin находится в ПУТИ

  8. Проверьте это perf работы правильно (не забывают к CD в перезаписываемом каталоге):

    $ cd
    $ perf record -f -- sleep 10
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.001 MB perf.data (~61 samples) ]
    

Вывод немного редактируется, заменяя мой корневой каталог с ~.

9
27.01.2020, 20:25

Теги

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