From: bugzilla@busybox.net
To: buildroot@uclibc.org
Subject: [Buildroot] [Bug 14996] New: Too many directories in BR2_EXTERNAL causes hang during make
Date: Fri, 16 Sep 2022 13:58:57 +0000 [thread overview]
Message-ID: <bug-14996-163@https.bugs.busybox.net/> (raw)
https://bugs.busybox.net/show_bug.cgi?id=14996
Bug ID: 14996
Summary: Too many directories in BR2_EXTERNAL causes hang
during make
Product: buildroot
Version: unspecified
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
Assignee: unassigned@buildroot.uclibc.org
Reporter: david.lawson1@tx.rr.com
CC: buildroot@uclibc.org
Target Milestone: ---
The top level Makefile in buildroot has a recursive rule which causes the
appearance of a hang as the number of directories in BR2_EXTERNAL increases.
When the number of directories in BR2_EXTERNAL is small, the recursion occurs,
but make detects the recursion and determines the target does not have to be
remade. This allows make to progress.
This is the failing rule:
define percent_defconfig
# Override the BR2_DEFCONFIG from COMMON_CONFIG_ENV with the new defconfig
%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(1)/configs/%_defconfig
outputmakefile
@$$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(1)/configs/$$@ \
$$< --defconfig=$(1)/configs/$$@ $$(CONFIG_CONFIG_IN)
endef
$(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call
percent_defconfig,$(d))$(sep)))
The rule for %defconfig is created for each directory in BR2_EXTERNAL. When the
rule is matched, the stem is 'defconfig_name'. The second prerequisite is
expanded to $(1)/configs/defconfig_name_defconfig. The rule, and all of the
other rules defined by this macro, are invoked again, but the stem is now
$(1)/configs/defconfig_name_defconfig. The second prerequisite is now expanded
to $(1)/configs/($1)/configs/defconfig_name_defconfig. This expansion continues
until make detects the infinite recursion.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next reply other threads:[~2022-09-16 13:59 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-16 13:58 bugzilla [this message]
2022-09-16 16:16 ` [Buildroot] [Bug 14996] Too many directories in BR2_EXTERNAL causes hang during make bugzilla
2022-09-16 16:53 ` bugzilla
2022-09-16 17:39 ` bugzilla
2022-09-16 17:56 ` bugzilla
2022-09-16 18:40 ` bugzilla
2022-09-16 18:45 ` bugzilla
2022-09-16 19:19 ` bugzilla
2022-09-17 6:54 ` bugzilla
2022-09-17 7:36 ` bugzilla
2022-09-19 17:27 ` bugzilla
2022-09-19 21:06 ` bugzilla
2022-09-20 19:58 ` bugzilla
2022-09-20 20:00 ` bugzilla
2023-01-07 20:11 ` bugzilla
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=bug-14996-163@https.bugs.busybox.net/ \
--to=bugzilla@busybox.net \
--cc=buildroot@uclibc.org \
/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