[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<TYBPR01MB5470E7F3F1E80FF9842AAF75B1AF2@TYBPR01MB5470.jpnprd01.prod.outlook.com>
Date: Wed, 2 Apr 2025 10:36:29 +0800
From: luriwen <luriwen@...mail.com>
To: "Chen, Yu C" <yu.c.chen@...el.com>
Cc: Takashi Sakamoto <o-takashi@...amocchi.jp>, lenb@...nel.org,
robert.moore@...el.com, linux1394-devel@...ts.sourceforge.net,
linux-kernel@...r.kernel.org, linux-acpi@...r.kernel.org,
acpica-devel@...ts.linux.dev, k2ci <kernel-bot@...inos.cn>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Masahiro Yamada <masahiroy@...nel.org>, yu.chen.surf@...mail.com
Subject: Re: [PATCH v1] tools: Fix compile error of pfrut/firewire
在 2025/4/1 14:56, Chen, Yu C 写道:
> Hi Riwen,
>
> On 3/31/2025 7:52 PM, Rafael J. Wysocki wrote:
>> On Mon, Mar 31, 2025 at 11:15 AM luriwen <luriwen@...mail.com> wrote:
>>>
>>> 在 2025/3/29 09:07, Takashi Sakamoto 写道:
>>>> Hi,
>>>>
>>>> On Fri, Mar 28, 2025 at 03:47:50PM +0800, Riwen Lu wrote:
>>>>> The value -rR of MAKEFLAGS implicit do not use make's built-in
>>>>> rules and
>>>>> variables. Previous commit d1d096312176 ("tools: fix annoying
>>>>> "mkdir -p
>>>>> ..." logs when building tools in parallel") removed the MAKEFLAGS=
>>>>> command for tools and caused the built-in rules for pfrut/firewire
>>>>> failed to take effect.
>>>>>
>>>>> Reported-by: k2ci <kernel-bot@...inos.cn>
>>>>> Signed-off-by: Riwen Lu <luriwen@...inos.cn>
>>
>> Yu, can you have a look at this please?
>>
>>>>> ---
>>>>> tools/firewire/Makefile | 7 +++++++
>>>>> tools/power/acpi/tools/pfrut/Makefile | 2 +-
>>>>> 2 files changed, 8 insertions(+), 1 deletion(-)
>>>>
>>>> As long as testing with v6.14 release, I can not find such failure. I
>>>> guess that some one has fixed the issue between the commit and the
>>>> release.
>>>>
>>>> Would you please recheck the issue?
>>>>
>>>>
>>>> Thanks
>>>>
>>>> Takashi Sakamoto
>>>
>>> I have reconfirmed that this type of error does indeed exist when using
>>> make tools/all or make tools/firewire at commit 4e82c87058f4 ("Merge tag
>>> 'rust-6.15' of
>>> git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux") in the 6.14
>>> kernel.
>>> The relevant error messages are as follows:
>>> $ make tools/all
>>> ...
>>> LD pfrut
>>> /usr/bin/ld:
>>> /home/luriwen/workspace/kernel/kernel.org/linux-git/linux/tools/power/acpi/tools/pfrut/pfrut.o:
>>> in function `print_cap':
>>> /home/luriwen/workspace/kernel/kernel.org/linux-git/linux/tools/power/acpi/tools/pfrut/pfrut.c:179:
>>> undefined reference to `uuid_unparse'
>>> /usr/bin/ld:
>>> /home/luriwen/workspace/kernel/kernel.org/linux-git/linux/tools/power/acpi/tools/pfrut/pfrut.c:184:
>>> undefined reference to `uuid_unparse'
>>> /usr/bin/ld:
>>> /home/luriwen/workspace/kernel/kernel.org/linux-git/linux/tools/power/acpi/tools/pfrut/pfrut.c:189:
>>> undefined reference to `uuid_unparse'
>>> /usr/bin/ld:
>>> /home/luriwen/workspace/kernel/kernel.org/linux-git/linux/tools/power/acpi/tools/pfrut/pfrut.c:191:
>>> undefined reference to `uuid_unparse'
>>> collect2: error: ld returned 1 exit status
>>>
>>> $ make tools/firewire
>>> SYNC include/config/auto.conf.cmd
>>> HOSTCC scripts/basic/fixdep
>>> HOSTCC scripts/kconfig/conf.o
>>> HOSTCC scripts/kconfig/confdata.o
>>> HOSTCC scripts/kconfig/expr.o
>>> LEX scripts/kconfig/lexer.lex.c
>>> YACC scripts/kconfig/parser.tab.[ch]
>>> HOSTCC scripts/kconfig/lexer.lex.o
>>> HOSTCC scripts/kconfig/menu.o
>>> HOSTCC scripts/kconfig/parser.tab.o
>>> HOSTCC scripts/kconfig/preprocess.o
>>> HOSTCC scripts/kconfig/symbol.o
>>> HOSTCC scripts/kconfig/util.o
>>> HOSTLD scripts/kconfig/conf
>>> DESCEND firewire
>>> make[3]: *** No rule to make target 'nosy-dump.o', needed by
>>> 'nosy-dump'. Stop.
>>> make[2]: *** [Makefile:72: firewire] Error 2
>>> make[1]: ***
>>> [/home/kylin/remote/kernel/kernel.org/linux-git/linux/Makefile:1438:
>>> tools/firewire] Error 2
>>> make: *** [Makefile:251: __sub-make] Error 2
>>>
>
> Maybe add more background in the commit log that, the default
> MAKEFLAGS in Makefile under Linux's root directory is with "-rR".
> Before commit d1d096312176 is applied, the -rR is overwriten by
> the subdirectory's MAKEFLAGS, so it will not cause problems when
> compiling the sub-directory of tools. After commit d1d096312176,
> the -rR takes effect, which prevents the tools from using the
> built-in rules and variables. Maybe also added Fixed: tag.
>
OK. I'll enhance the commit message and add a Fixes tag.
> Regarding the prfut Makefile, we have fixed the LDFLAGS issue,
> but the CFLAGS += xxx will not take effect, right?
>
Correct. The CFLAGS += xxx is not take effect.
> This reminds me that, is it possible to just remove -rR for the
> sub-directories? In this way we don't have to change the code of
> every tool one-by-one, pfrut, firewire...
> Cced Masahiro for guidance.
>
> Something like below:
>
> diff --git a/Makefile b/Makefile
> index d138b17b8840..853be42ca1a1 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1431,12 +1431,11 @@ endif
>
> tools/: FORCE
> $(Q)mkdir -p $(objtree)/tools
> - $(Q)$(MAKE) LDFLAGS= O=$(abspath $(objtree)) subdir=tools -C
> $(srctree)/tools/
> + $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter-out rR,$(MAKEFLAGS))"
> O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/
>
> tools/%: FORCE
> $(Q)mkdir -p $(objtree)/tools
> - $(Q)$(MAKE) LDFLAGS= O=$(abspath $(objtree)) subdir=tools -C
> $(srctree)/tools/ $*
> -
> + $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter-out rR,$(MAKEFLAGS))"
> O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/ $*
> #
> ---------------------------------------------------------------------------
> # Kernel selftest
>
> I believe this modification is more appropriate.
Powered by blists - more mailing lists