[Orin dev kit] kernel compile error:FAILED unresolved symbol udp6_sock

we modified defconfig via menuconfig (copy .config to arch/arm64/configs/defconifg) and add some configs like this:

CONFIG_DEBUG_INFO_BTF
CONIFG_BPF_EVENTS
...

kernel compile failed and shows:

 kernel compile error:FAILED unresolved symbol udp6_sock

thanks, looking foward to your reply.
more details look here:
compile_error.log (162.6 KB)
defconfig (218.0 KB)

sorry, CONFIG_BPF_EVENTS

Did you replace the defconfig by .config?
Could you just add CONFIG_BPF_EVENTS to defconfig to confirm.

I am curious, did you start with the tegra_defconfig, and then only add features via the menuconfig editor? I ask because the editor is aware of dependencies. If this was done correctly, then it probably means a bug in the kernel source (or configuration). Compiling the IPv6 version from “net/ipv6/udp.c” and “net/ipv6/udplite.c” should provide this (there is an IPv4 version which won’t work for this, but otherwise much the same). I see some other people ran into this, one of which was on arm64, and seems useful to explain the issue (though not to solve it, other than the patch listed, or to build as a module):
https://yhbt.net/lore/all/20201229173401.GH450923@krava/T/#t

Did you replace the defconfig by .config?

yes.
step1: we using nvbuild.sh to compile kernel
step2: make ARCH=arm64 menuconfig modified config options
step3: mv ./.config ./arch/arm64/configs/defconfig
step4: run nvbuild.sh

Could you just add CONFIG_BPF_EVENTS to defconfig to confirm

add CONFIG_BPF_EVENTS and other options is OK, compile fail when add CONFIG_DEBUG_INFO_BTF

we git clone the kernel source file from github,torvalds/Linux (kernel 5.10.104, same version with Orin BSP)
add those config options and it is OK

yes, it is very useful, I have found this website when we meet this error.
however, it can’t solve our problem directly. Because their config
CONFIG_CRYPTO_DEV_BCM_SPU=y
ours is false

I’m not familiar with that option (CONFIG_CRYPTO_DEV_BCM_SPU), but if there is an issue with a duplicated symbol, and something is broken in the kernel source such that one method of configuring for udp6_sock was removed, but that other configuration item still provides the symbol, I could see adding CONFIG_CRYPTO_DEV_BCM_SPU fixing it.

I am curious though, if you configure for tegra_defconfig, and then in menuedit (I prefer nedit for the symbol search) look at the help text of what else would be enabled without actually enabling this (the editor text describes each option), clues might be found. Perhaps the dependencies listed by CONFIG_CRYPTO_DEV_BCM_SPU would hint at a feature you could enable (other than that feature itself) to make the missing symbol available (the symbol is in the code somewhere, but it seems a bug has been found and at this particular kernel release and edits are still needed in Kconfig, but it doesn’t mean a manual configuration for replacing this symbol wouldn’t work). Call them ‘sub-features’ or dependencies of CONFIG_CRYPTO_DEV_BCM_SPU. It might be just what you need if avoiding a need to patch.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.