Frogging-Family / linux-tkg

linux-tkg custom kernels
GNU General Public License v2.0
1.32k stars 163 forks source link

A failure occurred in package_linux516-tkg-bmq-headers() #409

Closed Shadow12347 closed 2 years ago

Shadow12347 commented 2 years ago

I've been able to compile the kernel many times across many different versions, and I am now trying to compile 5.16. It runs through everything like normal but fails every time near the end with this error:

==> Starting package_linux516-tkg-bmq-headers()... -> Installing build files... install: cannot stat 'tools/bpf/resolve_btfids/resolve_btfids': No such file or directory ==> ERROR: A failure occurred in package_linux516-tkg-bmq-headers().

I tried across commits and still am not able to get past this issue on 5.16, while 5.15 works just fine. I'm using gcc with -O3 and ZEN3 (which has never caused an issue for me).

OS: Manjaro KDE Plasma CPU: Ryzen 9 5950x

Shadow12347 commented 2 years ago

I was able to resolve this by commenting this line out in the PKGBUILD:

install -Dt "$builddir"/tools/bpf/resolve_btfids tools/bpf/resolve_btfids/resolve_btfids

I then received some errors about winesync files being in conflict with my 5.15 tkg install. So I rebooted into a stock kernel, uninstalled 5.15 tkg, and then installed 5.16 tkg, which is now running successfully.

AdelKS commented 2 years ago

This issue should be fixed as that line you commented out is only run on 5.16+

Shadow12347 commented 2 years ago

I'm compiling 5.16 (and running 5.16), and I am still receiving this error. But commenting out the if statement for btfids resolves it.

AdelKS commented 2 years ago

I see, does it happen with other schedulers for example ? Something is off as you seem to be the only one who has this issue ?

Shadow12347 commented 2 years ago

Yeah, I have a cacule version alongside the bmq one that I used for testing, and it happens on both. That said, if it isn't affecting anyone else, I already found a workaround, and it shouldn't be an issue once I move to 5.17.

TheLiberaceSequence commented 2 years ago

It's not a scheduler issue. You have some part of the bpf framework enabled that requires the btf info, but the kernel is compiled without the said info.

For the 'resolve_btfids' tool to work, the kernel needs to be compiled with 'DEBUG_INFO_BTF=y'.

CONFIG_DEBUG_INFO_BTF:

Generate deduplicated BTF type information from DWARF debug info. Turning this on expects presence of pahole tool, which will convert DWARF type info into equivalent deduplicated BTF type info.

Symbol: DEBUG_INFO_BTF [=y] Type : bool Defined at lib/Kconfig.debug:315 Prompt: Generate BTF typeinfo Depends on: DEBUG_INFO [=y] && !DEBUG_INFO_SPLIT [=n] && !DEBUG_INFO_REDUCED [=n] && (!GCC_PLUGIN_RANDSTRUCT [=n] || COMPILE_TEST [=n]) && BPF_SYSCALL [=y] Location: Main menu -> Kernel hacking -> Compile-time checks and compiler options -> Compile the kernel with debug info (DEBUG_INFO [=y])