From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 28 Mar 2024 12:00:10 +0100 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rpnUP-008ypg-2q for lore@lore.pengutronix.de; Thu, 28 Mar 2024 12:00:10 +0100 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1rpnUP-0005bE-Ls; Thu, 28 Mar 2024 12:00:09 +0100 Received: from smtp76.ord1d.emailsrvr.com ([184.106.54.76]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rpnU2-0005WY-7d for ptxdist@pengutronix.de; Thu, 28 Mar 2024 11:59:47 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mev.co.uk; s=20221208-6x11dpa4; t=1711623584; bh=JgdrqRqqdRstMVRxfZ4jHT3Wr3URd7KgMB2cNJRGVbQ=; h=Date:Subject:To:From:From; b=gSqhimMjXjFxhuPKkohLAa0py98I0MeCXH3nExUcV8Oewv/U+SaqGLJZBTd2bEH6a ZoGTmD7jz+0Aa28xmR99vi6oCd4/mb4l8k7S5asVl8xLCZ875otpEYQz+c6qh5Oo4F KmZsdomYxppu/MoqmT/vQcXFed97QB4gfkieHnHA= X-Auth-ID: abbotti@mev.co.uk Received: by smtp2.relay.ord1d.emailsrvr.com (Authenticated sender: abbotti-AT-mev.co.uk) with ESMTPSA id 4A2AB200E4 for ; Thu, 28 Mar 2024 06:59:44 -0400 (EDT) Message-ID: <85d8e9a2-60fc-45cf-87e0-ffabf1508baf@mev.co.uk> Date: Thu, 28 Mar 2024 10:59:43 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ptxdist@pengutronix.de References: <4cfc5e0b-86fd-452d-8f1d-ea8a109673f1@mev.co.uk> Content-Language: en-GB From: Ian Abbott Organization: MEV Ltd. In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Classification-ID: 78e5eca6-e67c-42d9-8062-ed4033739615-1-1 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-3.2 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_CSS,URIBL_CSS_A autolearn=ham autolearn_force=no version=3.4.2 Subject: Re: [ptxdist] Getting error 'kernel' must depend on 'host-system-python3' for 'python3'! X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false On 28/03/2024 08:10, Michael Olbrich wrote: > On Wed, Mar 27, 2024 at 05:17:21PM +0000, Ian Abbott wrote: >> I'm getting this error when trying to build a kernel that has "Kernel >> hacking > Compile-time checks and compiler options > Generate BTF typeinfo >> (DEBUG_INFO_BTF)" enabled in the configuration: >> >> -------------------------------------------------------------------- >> ---------------------- >> target: kernel.compile >> ---------------------- >> >> make: Entering directory '/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21' >> make[1]: Entering directory '/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21-build' >> GEN Makefile >> DESCEND bpf/resolve_btfids >> CALL /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21/scripts/checksyscalls.sh >> GEN /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21-build/tools/bpf/resolve_btfids/libbpf/bpf_helper_defs.h >> INSTALL libsubcmd_headers >> >> 'kernel' must depend on 'host-system-python3' for 'python3'! >> >> make[5]: *** [Makefile:160: /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21-build/tools/bpf/resolve_btfids/libbpf/bpf_helper_defs.h] >> Error 1 >> make[5]: *** Deleting file '/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21-build/tools/bpf/resolve_btfids/libbpf/bpf_helper_defs.h' >> make[4]: *** [Makefile:63: /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21-build/tools/bpf/resolve_btfids//libbpf/libbpf.a] >> Error 2 >> make[4]: *** Waiting for unfinished jobs.... >> make[3]: *** [Makefile:76: bpf/resolve_btfids] Error 2 >> make[2]: *** [/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21/Makefile:1355: >> tools/bpf/resolve_btfids] Error 2 >> make[1]: *** [/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21/Makefile:234: >> __sub-make] Error 2 >> make[1]: Leaving directory '/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21-build' >> make: *** [Makefile:234: __sub-make] Error 2 >> make: Leaving directory '/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21' >> make: *** [/mnt/lindata/work/abbotti/ptxdist/ptxdist/ptxdist_git/ptxdist/rules/kernel.make:251: /home/abbotti/work/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/state/kernel.compile] >> Error 2 >> -------------------------------------------------------------------- >> >> I could live without it. It is required for RestrictFileSystems= in systemd >> service units according to >> . But is there an easy >> fix? > > Put this in "platforms/kernel.fixup.in" in your BSP: > ------------------------------->8---------------------------- > ## SECTION=base_kernel > > config KERNEL > select HOST_SYSTEM_PYTHON3 > > ------------------------------->8---------------------------- > >> I'm currently using ptxdist 2024.03.0 but is also reproducible on the >> ptxdist master branch. > > We should add that dependency Upstream as well. Something like > > config KERNEL_PYTHON3 > prompt "ensure Python3 is available" > bool > help > Python3 is needed at build-time when CONFIG_DEBUG_INFO_BTF is > enabled. Thanks. I combined the two and added the following to "platforms/kernel.fixup.in" in my BSP: ------------------------------->8---------------------------- ## SECTION=base_kernel config KERNEL select HOST_SYSTEM_PYTHON3 if KERNEL_PYTHON3 config KERNEL_PYTHON3 prompt "ensure Python3 is available" bool select HOST_SYSTEM_PYTHON3 help Python3 is needed at build-time when CONFIG_DEBUG_INFO is enabled ------------------------------->8---------------------------- Then I enabled KERNEL_PYTHON3 in my platformconfig. The kernel build gets further than before, but stops here: ------------------------------->8---------------------------- ---------------------- target: kernel.compile ---------------------- make: Entering directory '/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21' make[1]: Entering directory '/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21-build' GEN Makefile DESCEND bpf/resolve_btfids CALL /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21/scripts/checksyscalls.sh INSTALL libsubcmd_headers UPD include/generated/utsversion.h CC init/version-timestamp.o BTF: .tmp_vmlinux.btf: pahole (false) is not available Failed to generate BTF for vmlinux Try to disable CONFIG_DEBUG_INFO_BTF make[3]: *** [/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21/scripts/Makefile.vmlinux:37: vmlinux] Error 1 make[2]: *** [/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21/Makefile:1165: vmlinux] Error 2 make[1]: *** [/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21/Makefile:234: __sub-make] Error 2 make[1]: Leaving directory '/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21-build' make: *** [Makefile:234: __sub-make] Error 2 make: Leaving directory '/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/build-target/linux-6.6.21' make: *** [/mnt/lindata/work/abbotti/ptxdist/ptxdist/releases/ptxdist-2024.03.0/rules/kernel.make:251: /home/abbotti/work/ptxdist/projects/its-ipt4-demo/platform-its-ipt4-demo/state/kernel.compile] Error 2 ------------------------------->8---------------------------- I guess that is because of these lines in the upstream "rules/kernel.make": ------------------------------->8---------------------------- KERNEL_SHARED_OPT = \ $(KERNEL_MODULE_OPT) \ PAHOLE=false ------------------------------->8---------------------------- So it would probably require more work to upstream to support the CONFIG_DEBUG_INFO_BTF kernel option in ptxdist. Kind regards, Ian -- -=( Ian Abbott || MEV Ltd. is a company )=- -=( registered in England & Wales. Regd. number: 02862268. )=- -=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=- -=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=-