On Tue, May 11, 2021 at 11:52 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > I do not see a good reason why only the libelf development package must > be so carefully checked. > > Kbuild generally does not check host tools or libraries. > > For example, x86_64 defconfig fails to build with no libssl development > package installed. > > scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: No such file or directory > 21 | #include <openssl/bio.h> > | ^~~~~~~~~~~~~~~ > > To solve the build error, you need to install libssl-dev or openssl-devel > package, depending on your distribution. > > 'apt-file search', 'dnf provides', etc. is your frined to find a proper > package to install. > > This commit removes all the libelf checks from the top Makefile. > > If libelf is missing, objtool will fail to build in a similar pattern: > > .../linux/tools/objtool/include/objtool/elf.h:10:10: fatal error: gelf.h: No such file or directory > 10 | #include <gelf.h> > > You need to install libelf-dev, libelf-devel, or elfutils-libelf-devel > to proceed. > > Another remarkable change is, CONFIG_STACK_VALIDATION (without > CONFIG_UNWINDER_ORC) previously continued to build with a warning, > but now it will treat missing libelf as an error. > > This is just a one-time installation, so it should not matter to break > a build and make a user install the package. > > BTW, the traditional way to handle such checks is autotool, but according > to [1], I do not expect the kernel build would have similar scripting > like './configure' does. > > [1]: https://lore.kernel.org/lkml/CA+55aFzr2HTZVOuzpHYDwmtRJLsVzE-yqg2DHpHi_9ePsYp5ug@xxxxxxxxxxxxxx/ > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > resolve_btfids part looks good to me: Acked-by: Andrii Nakryiko <andrii@xxxxxxxxxx> > Makefile | 78 +++++++++++---------------------------- > scripts/Makefile.build | 2 - > scripts/Makefile.modfinal | 2 - > 3 files changed, 22 insertions(+), 60 deletions(-) > [...]