public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: "Chen, Yu C" <yu.c.chen@intel.com>
To: luriwen <luriwen@hotmail.com>
Cc: Takashi Sakamoto <o-takashi@sakamocchi.jp>, <lenb@kernel.org>,
	<robert.moore@intel.com>, <linux1394-devel@lists.sourceforge.net>,
	<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>,
	<acpica-devel@lists.linux.dev>, k2ci <kernel-bot@kylinos.cn>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	<yu.chen.surf@foxmail.com>
Subject: Re: [PATCH v1] tools: Fix compile error of pfrut/firewire
Date: Tue, 1 Apr 2025 14:56:31 +0800	[thread overview]
Message-ID: <88a36c5b-8dc0-47b8-832d-366f0214dd11@intel.com> (raw)
In-Reply-To: <CAJZ5v0jy21xWDSrTxSzg0YPBQYrntXvDYK-GZtH2we+qGjw3Bw@mail.gmail.com>

Hi Riwen,

On 3/31/2025 7:52 PM, Rafael J. Wysocki wrote:
> On Mon, Mar 31, 2025 at 11:15 AM luriwen <luriwen@hotmail.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@kylinos.cn>
>>>> Signed-off-by: Riwen Lu <luriwen@kylinos.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.

Regarding the prfut Makefile, we have fixed the LDFLAGS issue,
but the CFLAGS += xxx will not take effect, right?

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



  reply	other threads:[~2025-04-01  6:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-28  7:47 [PATCH v1] tools: Fix compile error of pfrut/firewire Riwen Lu
2025-03-29  1:07 ` Takashi Sakamoto
2025-03-31  9:14   ` luriwen
2025-03-31 11:52     ` Rafael J. Wysocki
2025-04-01  6:56       ` Chen, Yu C [this message]
2025-04-02  2:36         ` luriwen

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=88a36c5b-8dc0-47b8-832d-366f0214dd11@intel.com \
    --to=yu.c.chen@intel.com \
    --cc=acpica-devel@lists.linux.dev \
    --cc=kernel-bot@kylinos.cn \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux1394-devel@lists.sourceforge.net \
    --cc=luriwen@hotmail.com \
    --cc=masahiroy@kernel.org \
    --cc=o-takashi@sakamocchi.jp \
    --cc=rafael@kernel.org \
    --cc=robert.moore@intel.com \
    --cc=yu.chen.surf@foxmail.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