Skip to content

Instantly share code, notes, and snippets.

@abel0b
Last active June 28, 2024 10:41
Show Gist options
  • Save abel0b/b1881e41b9e1c4b16d84e5e083c38a13 to your computer and use it in GitHub Desktop.
Save abel0b/b1881e41b9e1c4b16d84e5e083c38a13 to your computer and use it in GitHub Desktop.
Install perf on WSL 2
apt install flex bison
git clone https://github.com/microsoft/WSL2-Linux-Kernel --depth 1
cd WSL2-Linux-Kernel/tools/perf
make -j8
sudo cp perf /usr/local/bin
@bighunter513
Copy link

same problem with you ~~

@bighunter513
Copy link

Looks like it may be broken on newer Python versions:

util/scripting-engines/trace-event-python.c: In function ‘python_start_scrip’:
util/scripting-engines/trace-event-python.c:1851:9: error: ‘PySys_SetArgv’ is deprecated [-Werror=deprecated-declarations]
 1851 |         PySys_SetArgv(argc + 1, command_line);
      |         ^~~~~~~~~~~~~
In file included from /home/lcrown/.pyenv/versions/3.11.4/include/python3.11/Python.h:96,
                 from util/scripting-engines/trace-event-python.c:22:
/home/lcrown/.pyenv/versions/3.11.4/include/python3.11/sysmodule.h:13:38: note: declared here
   13 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_SetArgv(int, wchar_t **);
      |                                      ^~~~~~~~~~~~~
  CC      util/intel-bts.o
  LD      util/arm-spe-decoder/perf-in.o
  CC      util/arm-spe.o
  CC      util/s390-cpumsf.o
  CC      util/parse-branch-options.o
  CC      util/dump-insn.o
  CC      util/parse-regs-options.o
  CC      util/parse-sublevel-options.o
  CC      util/term.o
  CC      util/help-unknown-cmd.o
  CC      util/dlfilter.o
  CC      util/mem-events.o
  CC      util/vsprintf.o
  CC      util/units.o
  CC      util/time-utils.o
  BISON   util/expr-bison.c
  CC      util/branch.o
  CC      util/mem2node.o
  CC      util/clockid.o
  CC      util/bpf-loader.o
  CC      util/bpf_map.o
  CC      util/bpf-prologue.o
  CC      util/symbol-elf.o
  CC      util/probe-file.o
  CC      util/probe-event.o
  CC      util/probe-finder.o
  CC      util/dwarf-aux.o
  CC      util/dwarf-regs.o
cc1: all warnings being treated as errors
  CC      util/unwind-libunwind-local.o
make[5]: *** [/home/lcrown/code/repos/WSL2-Linux-Kernel/tools/build/Makefile.build:96: util/scripting-engines/trace-event-python.o] Error 1
make[4]: *** [/home/lcrown/code/repos/WSL2-Linux-Kernel/tools/build/Makefile.build:139: scripting-engines] Error 2
make[4]: *** Waiting for unfinished jobs....
  LD      util/intel-pt-decoder/perf-in.o
make[3]: *** [/home/lcrown/code/repos/WSL2-Linux-Kernel/tools/build/Makefile.build:139: util] Error 2
make[2]: *** [Makefile.perf:658: perf-in.o] Error 2
make[1]: *** [Makefile.perf:238: sub-make] Error 2
make: *** [Makefile:70: all] Error 2

yes, python 3.10.12 is ok, but 3.11 will broken

@dinhani
Copy link

dinhani commented Mar 9, 2024

Downgraded to Python 3.10.13 and it also worked.

@zxcqirara
Copy link

Downgraded to Python 3.10.13 and it also worked.

Ty, worked

@abdennour
Copy link

what about WSL1 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment