linux-kernel-mentees.lists.linuxfoundation.org archive mirror
 help / color / mirror / Atom feed
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
To: Ujjwal Kumar <ujjwalkumar0501@gmail.com>
Cc: linux-kernel-mentees@lists.linuxfoundation.org
Subject: Re: [Linux-kernel-mentees] [PATCH] kconfig: Prepend interpeters when calling scripts
Date: Sat, 26 Sep 2020 07:54:23 +0200 (CEST)	[thread overview]
Message-ID: <alpine.DEB.2.21.2009260727250.4734@felia> (raw)
In-Reply-To: <cabeb5d7-f9c3-7e6d-fa43-03e6ef0dc476@gmail.com>



On Sat, 26 Sep 2020, Ujjwal Kumar wrote:
> 
> To unset the executable bit I ran following command:
> for i in $(find -executable -type f); do chmod -x $i; done
> 
> One thing that I noticed is, once we initiate a kernel build some 
> programs are compiled and removing their executable bit is not desirable.
> Even after performing "make clean" some of those programs still persist and 
> removing their executable bit fails any further attempt to build the kernel.
> 
> For instance, tools/objtool/objtool file. In my case I had a total of 19 
> files remaining after performing make clean.
> 

Good observation.

You can properly clean your build with make mrproper, but maybe that is 
not even enough... all generated files might not mean _all generated 
tools_, such as objtool, etc.

$ make help

Cleaning targets:
  clean		  - Remove most generated files but keep the config and
                    enough build support to build external modules
  mrproper	  - Remove all generated files + config + various backup files
  distclean	  - mrproper + remove editor backup and patch files

[...]

After for i in $(find -executable -type f); do chmod -x $i; done:
I saw those failures (probably as you did as well):

*** Default configuration is based on 'x86_64_defconfig'
sh: 1: ./scripts/gcc-version.sh: Permission denied
init/Kconfig:34: syntax error
init/Kconfig:33: invalid statement
init/Kconfig:34: invalid statement
sh: 1: ./scripts/ld-version.sh: Permission denied
init/Kconfig:39: syntax error
init/Kconfig:38: invalid statement
sh: 1: ./scripts/clang-version.sh: Permission denied
init/Kconfig:49: syntax error
init/Kconfig:48: invalid statement
scripts/kconfig/Makefile:80: recipe for target 'defconfig' failed
make[1]: *** [defconfig] Error 1
Makefile:606: recipe for target 'defconfig' failed
make: *** [defconfig] Error 2


After your patch was applied, they disappear. So, it does the job.
More comments on the patch itself later.

make defconfig works.

make then fails:

HOSTCC   /home/lukas/repositories/kernel.org/pub/scm/linux/kernel/git/torvalds/linux/tools/objtool/fixdep.o
/bin/sh: 1: /home/lukas/repositories/kernel.org/pub/scm/linux/kernel/git/torvalds/linux/tools/objtool//fixdep: Permission denied
/home/lukas/repositories/kernel.org/pub/scm/linux/kernel/git/torvalds/linux/tools/build/Makefile.build:96: recipe for target 
'/home/lukas/repositories/kernel.org/pub/scm/linux/kernel/git/torvalds/linux/tools/objtool/fixdep.o' failed
make[4]: *** [/home/lukas/repositories/kernel.org/pub/scm/linux/kernel/git/torvalds/linux/tools/objtool/fixdep.o] Error 126
Makefile:43: recipe for target '/home/lukas/repositories/kernel.org/pub/scm/linux/kernel/git/torvalds/linux/tools/objtool/fixdep-in.o' failed
make[3]: *** [/home/lukas/repositories/kernel.org/pub/scm/linux/kernel/git/torvalds/linux/tools/objtool/fixdep-in.o] Error 2
/home/lukas/repositories/kernel.org/pub/scm/linux/kernel/git/torvalds/linux/tools/build/Makefile.include:5: recipe for target 'fixdep' failed
make[2]: *** [fixdep] Error 2
Makefile:68: recipe for target 'objtool' failed
make[1]: *** [objtool] Error 2
Makefile:1885: recipe for target 'tools/objtool' failed
make: *** [tools/objtool] Error 2
make: *** Waiting for unfinished jobs....

The make target also goes into tools/build/ and requires some targets 
there and then uses those tools during the further build.

So, we need some more patches here as well.

Can you share the list of 19 files that remained even with make clean?

Then, we go through them and check if they disappear with make mrproper or 
with a different make target to clean them. Potentially, we also hook 
those identified targets up into make mrproper then.

Lukas
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

  reply	other threads:[~2020-09-26  5:54 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-25 21:20 [Linux-kernel-mentees] [PATCH] kconfig: Prepend interpeters when calling scripts Ujjwal Kumar
2020-09-25 21:25 ` Ujjwal Kumar
2020-09-26  5:54   ` Lukas Bulwahn [this message]
2020-09-26  9:23     ` Ujjwal Kumar
2020-09-29 17:47       ` Ujjwal Kumar
2020-09-30 19:53         ` Lukas Bulwahn
2020-09-26  6:11 ` Greg KH
2020-09-26  6:19   ` Lukas Bulwahn
2020-09-26  6:26     ` Greg KH
2020-09-26  6:12 ` Lukas Bulwahn
2020-09-26 10:24   ` Ujjwal Kumar
2020-09-26 11:01     ` Lukas Bulwahn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.21.2009260727250.4734@felia \
    --to=lukas.bulwahn@gmail.com \
    --cc=linux-kernel-mentees@lists.linuxfoundation.org \
    --cc=ujjwalkumar0501@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).