Thread (3 messages) 3 messages, 2 authors, 2021-05-17

Re: [PATCH 2/2] kbuild: remove libelf checks from top Makefile

From: Masahiro Yamada <masahiroy@kernel.org>
Date: 2021-05-17 02:51:29
Also in: bpf, linux-kbuild, lkml

(+CC: Josh, Peter)

On Thu, May 13, 2021 at 4:36 AM Andrii Nakryiko
[off-list ref] wrote:
On Tue, May 11, 2021 at 11:52 PM Masahiro Yamada [off-list ref] wrote:
quoted
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@mail.gmail.com/ (local)

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
resolve_btfids part looks good to me:

Acked-by: Andrii Nakryiko <andrii@kernel.org>
quoted
 Makefile                  | 78 +++++++++++----------------------------
 scripts/Makefile.build    |  2 -
 scripts/Makefile.modfinal |  2 -
 3 files changed, 22 insertions(+), 60 deletions(-)
[...]


-- 
Best Regards
Masahiro Yamada
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help