Community Packages

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#69654 - [linux] pahole is now a makedep for modules

Attached to Project: Community Packages
Opened by Pedro Gabriel Drumond Pereira (pedrogabriel) - Tuesday, 16 February 2021, 02:56 GMT
Last edited by Jan Alexander Steffens (heftig) - Tuesday, 16 February 2021, 14:18 GMT
Task Type Bug Report
Category Packages: Testing
Status Assigned
Assigned To Jan Alexander Steffens (heftig)
Giancarlo Razzolini (grazzolini)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 3
Private No



Additional info:
* package version(s)
* config and/or log files etc.
DKMS make.log for bbswitch-0.8 for kernel 5.11.0-arch1-1 (x86_64)
seg 15 fev 2021 23:51:25 -03
make -C /lib/modules/5.11.0-arch1-1/build M="$(pwd)" modules
make[1]: Entrando no diretório '/usr/lib/modules/5.11.0-arch1-1/build'

CC [M] /var/lib/dkms/bbswitch/0.8/build/bbswitch.o
MODPOST /var/lib/dkms/bbswitch/0.8/build/Module.symvers
CC [M] /var/lib/dkms/bbswitch/0.8/build/bbswitch.mod.o
LD [M] /var/lib/dkms/bbswitch/0.8/build/bbswitch.ko
BTF [M] /var/lib/dkms/bbswitch/0.8/build/bbswitch.ko
/bin/sh: linha 1: pahole: comando não encontrado
make[3]: *** [scripts/Makefile.modfinal:59: /var/lib/dkms/bbswitch/0.8/build/bbswitch.ko] Erro 127
make[3]: ** Apagando arquivo '/var/lib/dkms/bbswitch/0.8/build/bbswitch.ko'
make[2]: *** [scripts/Makefile.modpost:117: __modpost] Erro 2
make[1]: *** [Makefile:1704: modules] Erro 2
make[1]: Saindo do diretório '/usr/lib/modules/5.11.0-arch1-1/build'

make: *** [Makefile:13: default] Erro 2

Steps to reproduce:
Install linux 5.11 with bbswitch-dkms installed
This task depends upon

Comment by loqs (loqs) - Tuesday, 16 February 2021, 03:34 GMT Comment by Pedro Gabriel Drumond Pereira (pedrogabriel) - Tuesday, 16 February 2021, 03:47 GMT
It doesn't, but explicitly installing pahole and then using dkms does work. It should be a dependency, since dkms builds the module automaticaly, I think.
Comment by loqs (loqs) - Tuesday, 16 February 2021, 03:55 GMT
bbswitch-dkms 0.8-389 does depend on pahole.
Comment by Pedro Gabriel Drumond Pereira (pedrogabriel) - Tuesday, 16 February 2021, 03:59 GMT
It doesn't. It only makedepends to pahole.

pedro@engels ~ % LC_ALL=C sudo pacman -Qi bbswitch-dkms
Name : bbswitch-dkms
Version : 0.8-389
Description : Kernel module allowing to switch dedicated graphics card on Optimus laptops
Architecture : x86_64
Licenses : GPL
Groups : None
Provides : bbswitch
Depends On : dkms
Optional Deps : None
Required By : None
Optional For : None
Conflicts With : bbswitch
Replaces : None
Installed Size : 16.47 KiB
Packager : Jan Alexander Steffens (heftig) <>
Build Date : Mon Feb 15 20:32:23 2021
Install Date : Tue Feb 16 00:48:31 2021
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
Comment by loqs (loqs) - Tuesday, 16 February 2021, 05:22 GMT
It affect all the DKMS packages. Perhaps pahole should be added as at least an optdepend of linux-headers if not a depend.
Or add pahole to all the DKMS packages as an optdepend or depend.
Comment by Emil (xexaxo) - Tuesday, 16 February 2021, 11:53 GMT
Adding pahole as depedency to dkms is the better option.
One can use any of linux-{,lts-,zen-,other}headers plus pahole should not be needed by bcc - the second *headers user.
Comment by Jonathon (jonathon) - Tuesday, 16 February 2021, 11:59 GMT
Confirm, `pahole` is necessary for all DKMS modules. The bug filed for DKMS is here:
Comment by Jan Alexander Steffens (heftig) - Tuesday, 16 February 2021, 14:17 GMT
I'm probably going to add pahole as a depend to linux-headers.
Comment by Sébastien Luttringer (seblu) - Tuesday, 16 February 2021, 14:36 GMT
pahole is required by /lib/modules/5.11.0-arch1-1/build/Makefile. (shipped by linux-headers)

Like others tools (clang, llvm-ar, etc) defined in this Makefile, pahole is more a requirement of linux-headers scripts to build modules than dkms itself.

These programs are tied with the linux build system, and may change with future kernel release, so if we add dependencies, I think they should be bound to linux-headers packages than dkms.
Comment by Pedro Gabriel Drumond Pereira (pedrogabriel) - Tuesday, 16 February 2021, 15:19 GMT
I also think it's the correct approach, but I see two problems with it, first is that the user only needs 'pahole' installed if it's building any module of an linux kernel >= 5.11.0, and the second is it's not an trivial approach requiring the change not only for 'linux-headers' and 'linux-headers-zen', but a good amount of AUR packages. I don't know, but it's not a hard dependency of neither.
Comment by Giancarlo Razzolini (grazzolini) - Tuesday, 16 February 2021, 16:44 GMT
Anyone building anything that's not using dkms will also need pahole, from my understanding. but, *anyone* building anything against the kernel will always need the linux-headers package, so it makes perfect sense to add pahole as a dependency to it, rather than dkms or the individual module package.