* make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] [not found] <AANLkTim8FALeVG+NPLNLEQChu=dPD=GHSpnxmZHYgsNx@mail.gmail.com> @ 2010-08-02 8:51 ` Thomas Backlund 2010-08-02 18:28 ` Sam Ravnborg 2010-08-07 17:56 ` Paul Smith 0 siblings, 2 replies; 8+ messages in thread From: Thomas Backlund @ 2010-08-02 8:51 UTC (permalink / raw) To: Linux Kernel Mailing List; +Cc: linuxppc-dev, bug-make Hi, (please cc me as I'm not subscribed) updating from make 3.81 to 3.82 gets me this: [thomas@tmb linux-2.6.35]$ cp arch/powerpc/configs/ppc64_defconfig .config [thomas@tmb linux-2.6.35]$ LC_ALL=C make oldconfig ARCH=powerpc /mnt/work/2.6.35/linux-2.6.35/arch/powerpc/Makefile:183: *** mixed implicit and normal rules. Stop. The lines are: 182: 183: $(BOOT_TARGETS): vmlinux 184: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) 185: BOOT_TARGETS are defined on line 166 as: BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.% Now it's not a regression in the kernel as the same happends with the 2.6.34 tree too. (btw, the host I'm syncing the defconfig with is a x86_64 machine) Now, I dont know if this is "intended breakage" by the make update, or if the Makefile needs to be updated.... Any ideas how to fix ? -- Thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] 2010-08-02 8:51 ` make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] Thomas Backlund @ 2010-08-02 18:28 ` Sam Ravnborg 2010-08-02 20:46 ` Thomas Backlund 2010-08-07 17:56 ` Paul Smith 1 sibling, 1 reply; 8+ messages in thread From: Sam Ravnborg @ 2010-08-02 18:28 UTC (permalink / raw) To: Thomas Backlund Cc: Michal Marek, linuxppc-dev, Linux Kernel Mailing List, bug-make On Mon, Aug 02, 2010 at 11:51:11AM +0300, Thomas Backlund wrote: > Hi, > (please cc me as I'm not subscribed) > > updating from make 3.81 to 3.82 gets me this: > > [thomas@tmb linux-2.6.35]$ cp arch/powerpc/configs/ppc64_defconfig .config > [thomas@tmb linux-2.6.35]$ LC_ALL=C make oldconfig ARCH=powerpc > /mnt/work/2.6.35/linux-2.6.35/arch/powerpc/Makefile:183: *** mixed > implicit and normal rules. Stop. > > The lines are: > > 182: > 183: $(BOOT_TARGETS): vmlinux > 184: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst > %,$(boot)/%,$@) > 185: > > BOOT_TARGETS are defined on line 166 as: > BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% > cuImage.% simpleImage.% > > > Now it's not a regression in the kernel as the same happends with the > 2.6.34 tree too. > > (btw, the host I'm syncing the defconfig with is a x86_64 machine) > > > Now, I dont know if this is "intended breakage" by the make update, or > if the Makefile needs to be updated.... > > Any ideas how to fix ? This is in the category "intended breakage". We had a similar issue in the top-level Makefile which Paul (IIRC) helped me to fix long time ago. To fix popwerpc I suggest something along these lines. [Note: I did not test it - please do so. Sam [PATCH] powerpc: fix build with make 3.82 Thomas Backlund reported that the powerpc build broke with make 3.82. It failed with the following message: arch/powerpc/Makefile:183: *** mixed implicit and normal rules. Stop. The fix is to avoid mixing non-wildcard and wildcard targets. Reported-by: Thomas Backlund <tmb@mandriva.org> Cc: Michal Marek <mmarek@suse.cz> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> --- diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 77cfe7a..ad88b21 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -163,9 +163,11 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/ # Default to zImage, override when needed all: zImage -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.% +# With make 3.82 we cannot mix normal and wildcard targets +BOOT_TARGETS1 := zImage zImage.initrd uImaged +BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.% -PHONY += $(BOOT_TARGETS) +PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2) boot := arch/$(ARCH)/boot @@ -180,7 +182,9 @@ relocs_check: arch/powerpc/relocs_check.pl vmlinux zImage: relocs_check endif -$(BOOT_TARGETS): vmlinux +$(BOOT_TARGETS1): vmlinux + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) +$(BOOT_TARGETS2): vmlinux $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) bootwrapper_install %.dtb: ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] 2010-08-02 18:28 ` Sam Ravnborg @ 2010-08-02 20:46 ` Thomas Backlund 2010-08-02 20:51 ` Sam Ravnborg 0 siblings, 1 reply; 8+ messages in thread From: Thomas Backlund @ 2010-08-02 20:46 UTC (permalink / raw) To: Sam Ravnborg Cc: Michal Marek, linuxppc-dev, Linux Kernel Mailing List, bug-make 02.08.2010 21:28, Sam Ravnborg skrev: > On Mon, Aug 02, 2010 at 11:51:11AM +0300, Thomas Backlund wrote: >> Hi, >> (please cc me as I'm not subscribed) >> >> updating from make 3.81 to 3.82 gets me this: >> >> [thomas@tmb linux-2.6.35]$ cp arch/powerpc/configs/ppc64_defconfig .config >> [thomas@tmb linux-2.6.35]$ LC_ALL=C make oldconfig ARCH=powerpc >> /mnt/work/2.6.35/linux-2.6.35/arch/powerpc/Makefile:183: *** mixed >> implicit and normal rules. Stop. >> >> The lines are: >> >> 182: >> 183: $(BOOT_TARGETS): vmlinux >> 184: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst >> %,$(boot)/%,$@) >> 185: >> >> BOOT_TARGETS are defined on line 166 as: >> BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% >> cuImage.% simpleImage.% >> >> >> Now it's not a regression in the kernel as the same happends with the >> 2.6.34 tree too. >> >> (btw, the host I'm syncing the defconfig with is a x86_64 machine) >> >> >> Now, I dont know if this is "intended breakage" by the make update, or >> if the Makefile needs to be updated.... >> >> Any ideas how to fix ? > > This is in the category "intended breakage". > We had a similar issue in the top-level Makefile which Paul (IIRC) > helped me to fix long time ago. > > To fix popwerpc I suggest something along these lines. > [Note: I did not test it - please do so. > > Sam > > [PATCH] powerpc: fix build with make 3.82 > > Thomas Backlund reported that the powerpc build broke with make 3.82. > It failed with the following message: > > arch/powerpc/Makefile:183: *** mixed implicit and normal rules. Stop. > > The fix is to avoid mixing non-wildcard and wildcard targets. > > Reported-by: Thomas Backlund <tmb@mandriva.org> > Cc: Michal Marek <mmarek@suse.cz> > Signed-off-by: Sam Ravnborg <sam@ravnborg.org> > --- > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile > index 77cfe7a..ad88b21 100644 > --- a/arch/powerpc/Makefile > +++ b/arch/powerpc/Makefile > @@ -163,9 +163,11 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/ > # Default to zImage, override when needed > all: zImage > > -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.% > +# With make 3.82 we cannot mix normal and wildcard targets > +BOOT_TARGETS1 := zImage zImage.initrd uImaged > +BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.% > > -PHONY += $(BOOT_TARGETS) > +PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2) > > boot := arch/$(ARCH)/boot > > @@ -180,7 +182,9 @@ relocs_check: arch/powerpc/relocs_check.pl vmlinux > zImage: relocs_check > endif > > -$(BOOT_TARGETS): vmlinux > +$(BOOT_TARGETS1): vmlinux > + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) > +$(BOOT_TARGETS2): vmlinux > $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) > > bootwrapper_install %.dtb: Thanks, this seems to fix the first issue, but then I get the same erro on the following line 190: 190: bootwrapper_install %.dtb: 191: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) -- Thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] 2010-08-02 20:46 ` Thomas Backlund @ 2010-08-02 20:51 ` Sam Ravnborg 2010-08-02 21:02 ` Andreas Schwab 2010-08-02 21:03 ` Thomas Backlund 0 siblings, 2 replies; 8+ messages in thread From: Sam Ravnborg @ 2010-08-02 20:51 UTC (permalink / raw) To: Thomas Backlund Cc: Michal Marek, linuxppc-dev, Linux Kernel Mailing List, bug-make > > Thanks, this seems to fix the first issue, but then I get the same erro on the following line 190: > > 190: bootwrapper_install %.dtb: > 191: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) > Obviously - dunno how I missed that. Updated patch below. I will do a proper submission after you confirm that powerpc build is working with make 3.82. Sam diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 77cfe7a..ace7a3e 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -163,9 +163,11 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/ # Default to zImage, override when needed all: zImage -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.% +# With make 3.82 we cannot mix normal and wildcard targets +BOOT_TARGETS1 := zImage zImage.initrd uImaged +BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.% -PHONY += $(BOOT_TARGETS) +PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2) boot := arch/$(ARCH)/boot @@ -180,10 +182,16 @@ relocs_check: arch/powerpc/relocs_check.pl vmlinux zImage: relocs_check endif -$(BOOT_TARGETS): vmlinux +$(BOOT_TARGETS1): vmlinux + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) +$(BOOT_TARGETS2): vmlinux + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) + + +bootwrapper_install $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) -bootwrapper_install %.dtb: +%.dtb: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) define archhelp ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] 2010-08-02 20:51 ` Sam Ravnborg @ 2010-08-02 21:02 ` Andreas Schwab 2010-08-02 21:03 ` Thomas Backlund 1 sibling, 0 replies; 8+ messages in thread From: Andreas Schwab @ 2010-08-02 21:02 UTC (permalink / raw) To: Sam Ravnborg Cc: Michal Marek, linuxppc-dev, bug-make, Linux Kernel Mailing List, Thomas Backlund Sam Ravnborg <sam@ravnborg.org> writes: > +bootwrapper_install Missing colon. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] 2010-08-02 20:51 ` Sam Ravnborg 2010-08-02 21:02 ` Andreas Schwab @ 2010-08-02 21:03 ` Thomas Backlund 2010-08-03 6:48 ` Sam Ravnborg 1 sibling, 1 reply; 8+ messages in thread From: Thomas Backlund @ 2010-08-02 21:03 UTC (permalink / raw) To: Sam Ravnborg Cc: Michal Marek, linuxppc-dev@ozlabs.org, bug-make@gnu.org, Linux Kernel Mailing List, Thomas Backlund 02.08.2010 23:51, Sam Ravnborg skrev: >> >> Thanks, this seems to fix the first issue, but then I get the same erro on the following line 190: >> >> 190: bootwrapper_install %.dtb: >> 191: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) >> > > Obviously - dunno how I missed that. > Updated patch below. > > I will do a proper submission after you > confirm that powerpc build is working with make 3.82. > Yeah, that was an obvious fix, thanks! One small typo fix below... (a missing ':') Otherwise it works here, so: Tested-by: Thomas Backlund <tmb@mandriva.org> > Sam > > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile > index 77cfe7a..ace7a3e 100644 > --- a/arch/powerpc/Makefile > +++ b/arch/powerpc/Makefile > @@ -163,9 +163,11 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/ > # Default to zImage, override when needed > all: zImage > > -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.% > +# With make 3.82 we cannot mix normal and wildcard targets > +BOOT_TARGETS1 := zImage zImage.initrd uImaged > +BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.% > > -PHONY += $(BOOT_TARGETS) > +PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2) > > boot := arch/$(ARCH)/boot > > @@ -180,10 +182,16 @@ relocs_check: arch/powerpc/relocs_check.pl vmlinux > zImage: relocs_check > endif > > -$(BOOT_TARGETS): vmlinux > +$(BOOT_TARGETS1): vmlinux > + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) > +$(BOOT_TARGETS2): vmlinux > + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) > + > + > +bootwrapper_install bootwrapper_install: > $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) > > -bootwrapper_install %.dtb: > +%.dtb: > $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) > > define archhelp > . > -- Thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] 2010-08-02 21:03 ` Thomas Backlund @ 2010-08-03 6:48 ` Sam Ravnborg 0 siblings, 0 replies; 8+ messages in thread From: Sam Ravnborg @ 2010-08-03 6:48 UTC (permalink / raw) To: Thomas Backlund Cc: Michal Marek, linuxppc-dev@ozlabs.org, Linux Kernel Mailing List, bug-make@gnu.org On Tue, Aug 03, 2010 at 12:03:35AM +0300, Thomas Backlund wrote: > 02.08.2010 23:51, Sam Ravnborg skrev: > >> > >> Thanks, this seems to fix the first issue, but then I get the same erro on the following line 190: > >> > >> 190: bootwrapper_install %.dtb: > >> 191: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@) > >> > > > > Obviously - dunno how I missed that. > > Updated patch below. > > > > I will do a proper submission after you > > confirm that powerpc build is working with make 3.82. > > > > Yeah, that was an obvious fix, thanks! > > One small typo fix below... > (a missing ':') > > Otherwise it works here, so: > > Tested-by: Thomas Backlund <tmb@mandriva.org> Thanks. I have sent a proper patch to Ben/Paul (powerpc maintainers). Sam ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] 2010-08-02 8:51 ` make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] Thomas Backlund 2010-08-02 18:28 ` Sam Ravnborg @ 2010-08-07 17:56 ` Paul Smith 1 sibling, 0 replies; 8+ messages in thread From: Paul Smith @ 2010-08-07 17:56 UTC (permalink / raw) To: Thomas Backlund; +Cc: linuxppc-dev, Linux Kernel Mailing List, bug-make On Mon, 2010-08-02 at 11:51 +0300, Thomas Backlund wrote: > BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% > treeImage.% cuImage.% simpleImage.% > > Now, I dont know if this is "intended breakage" by the make update, or > if the Makefile needs to be updated.... The change is intentional. Note, though, that this syntax was always dodgy, even in previous versions of GNU make. If you wrote it exactly as you did, where all the explicit targets come first and all the implicit targets come second, then it seems to have been interpreted correctly. However, if you did it any other way (for example, put some explicit targets after the first implicit target) then make would silently throw away all the targets starting with the first implicit target. Since the syntax used here wasn't ever described in the documentation, rather than reworking it as a new feature I decided to follow the docs and disallow it, and be verbose about the error. -- ------------------------------------------------------------------------------- Paul D. Smith <psmith@gnu.org> Find some GNU make tips at: http://www.gnu.org http://make.mad-scientist.net "Please remain calm...I may be mad, but I am a professional." --Mad Scientist ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-08-07 17:56 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <AANLkTim8FALeVG+NPLNLEQChu=dPD=GHSpnxmZHYgsNx@mail.gmail.com> 2010-08-02 8:51 ` make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] Thomas Backlund 2010-08-02 18:28 ` Sam Ravnborg 2010-08-02 20:46 ` Thomas Backlund 2010-08-02 20:51 ` Sam Ravnborg 2010-08-02 21:02 ` Andreas Schwab 2010-08-02 21:03 ` Thomas Backlund 2010-08-03 6:48 ` Sam Ravnborg 2010-08-07 17:56 ` Paul Smith
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).