Message ID | a5617c0cb57624d004c4b4f42861822016edb2e9.1725351676.git.jerome.forissier@linaro.org |
---|---|
State | New |
Headers | show |
Series | Miscellaneous fixes | expand |
Hi Jerome, On Tue, 3 Sept 2024 at 02:38, Jerome Forissier <jerome.forissier@linaro.org> wrote: > > When CROSS_COMPILE contains multiple words, HOST_ARCH is not properly > detected and the sandbox build fail. It typically happens when using > ccache. For example: > > $ make sandbox_defconfig > $ make CROSS_COMPILE="ccache x86_64-linux-gnu-" \ > CC="ccache x86_64-linux-gnu-gcc" > [...] > In file included from boot/bootmeth_efi.c:16: > include/efi_default_filename.h:33:2: error: #error Unsupported UEFI architecture > 33 | #error Unsupported UEFI architecture > | ^~~~~ > > A similar error occurs when the build is done via buildman and > ~/.buildman contains: > > [toolchain-wrapper] > wrapper = ccache > > Fix the issue by considering only the last word in $(CROSS_COMPILE). > > Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> > Reviewed-by: Peter Robinson <pbrobinson@gmail.com> > Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> > Reviewed-by: Peter Robinson <pbrobinson@gmail.com> > --- > Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Makefile b/Makefile > index f90e48f58a5..dc7bdd79420 100644 > --- a/Makefile > +++ b/Makefile > @@ -21,7 +21,7 @@ include include/host_arch.h > ifeq ("", "$(CROSS_COMPILE)") > MK_ARCH="${shell uname -m}" > else > - MK_ARCH="${shell echo $(CROSS_COMPILE) | sed -n 's/^[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\2/p'}" > + MK_ARCH="${shell echo ${lastword $(CROSS_COMPILE)} | sed -n 's/^[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\2/p'}" > endif > unexport HOST_ARCH > ifeq ("x86_64", $(MK_ARCH)) > -- > 2.40.1 > I've lost track of this, but did you pull in [1] first? Regards, Simon [1] https://patchwork.ozlabs.org/project/uboot/patch/20240815195746.749042-2-sjg@chromium.org/
Hello Simon, On 9/6/24 17:02, Simon Glass wrote: > Hi Jerome, > > On Tue, 3 Sept 2024 at 02:38, Jerome Forissier > <jerome.forissier@linaro.org> wrote: >> >> When CROSS_COMPILE contains multiple words, HOST_ARCH is not properly >> detected and the sandbox build fail. It typically happens when using >> ccache. For example: >> >> $ make sandbox_defconfig >> $ make CROSS_COMPILE="ccache x86_64-linux-gnu-" \ >> CC="ccache x86_64-linux-gnu-gcc" >> [...] >> In file included from boot/bootmeth_efi.c:16: >> include/efi_default_filename.h:33:2: error: #error Unsupported UEFI architecture >> 33 | #error Unsupported UEFI architecture >> | ^~~~~ >> >> A similar error occurs when the build is done via buildman and >> ~/.buildman contains: >> >> [toolchain-wrapper] >> wrapper = ccache >> >> Fix the issue by considering only the last word in $(CROSS_COMPILE). >> >> Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> >> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> >> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> >> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> >> --- >> Makefile | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/Makefile b/Makefile >> index f90e48f58a5..dc7bdd79420 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -21,7 +21,7 @@ include include/host_arch.h >> ifeq ("", "$(CROSS_COMPILE)") >> MK_ARCH="${shell uname -m}" >> else >> - MK_ARCH="${shell echo $(CROSS_COMPILE) | sed -n 's/^[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\2/p'}" >> + MK_ARCH="${shell echo ${lastword $(CROSS_COMPILE)} | sed -n 's/^[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\2/p'}" >> endif >> unexport HOST_ARCH >> ifeq ("x86_64", $(MK_ARCH)) >> -- >> 2.40.1 >> > > I've lost track of this, but did you pull in [1] first? Oops! No I didn't :-/ In fact I could not find the reference to the patch in your initial email, then I forgot about it. Would you like me to resend the whole series as v4 with your patch included? > > Regards, > Simon > > [1] https://patchwork.ozlabs.org/project/uboot/patch/20240815195746.749042-2-sjg@chromium.org/ Thanks,
Hi Jerome, On Fri, 6 Sept 2024 at 09:10, Jerome Forissier <jerome.forissier@linaro.org> wrote: > > Hello Simon, > > On 9/6/24 17:02, Simon Glass wrote: > > Hi Jerome, > > > > On Tue, 3 Sept 2024 at 02:38, Jerome Forissier > > <jerome.forissier@linaro.org> wrote: > >> > >> When CROSS_COMPILE contains multiple words, HOST_ARCH is not properly > >> detected and the sandbox build fail. It typically happens when using > >> ccache. For example: > >> > >> $ make sandbox_defconfig > >> $ make CROSS_COMPILE="ccache x86_64-linux-gnu-" \ > >> CC="ccache x86_64-linux-gnu-gcc" > >> [...] > >> In file included from boot/bootmeth_efi.c:16: > >> include/efi_default_filename.h:33:2: error: #error Unsupported UEFI architecture > >> 33 | #error Unsupported UEFI architecture > >> | ^~~~~ > >> > >> A similar error occurs when the build is done via buildman and > >> ~/.buildman contains: > >> > >> [toolchain-wrapper] > >> wrapper = ccache > >> > >> Fix the issue by considering only the last word in $(CROSS_COMPILE). > >> > >> Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> > >> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> > >> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> > >> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> > >> --- > >> Makefile | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/Makefile b/Makefile > >> index f90e48f58a5..dc7bdd79420 100644 > >> --- a/Makefile > >> +++ b/Makefile > >> @@ -21,7 +21,7 @@ include include/host_arch.h > >> ifeq ("", "$(CROSS_COMPILE)") > >> MK_ARCH="${shell uname -m}" > >> else > >> - MK_ARCH="${shell echo $(CROSS_COMPILE) | sed -n 's/^[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\2/p'}" > >> + MK_ARCH="${shell echo ${lastword $(CROSS_COMPILE)} | sed -n 's/^[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\2/p'}" > >> endif > >> unexport HOST_ARCH > >> ifeq ("x86_64", $(MK_ARCH)) > >> -- > >> 2.40.1 > >> > > > > I've lost track of this, but did you pull in [1] first? > > Oops! No I didn't :-/ In fact I could not find the reference to the patch > in your initial email, then I forgot about it. > Would you like me to resend the whole series as v4 with your patch included? I just want to know that there is still a problem, with my patch. So yes please try it and update the commit messages as needed for the two affected patches. Regards, Simon > > > > > Regards, > > Simon > > > > [1] https://patchwork.ozlabs.org/project/uboot/patch/20240815195746.749042-2-sjg@chromium.org/ > > Thanks, > -- > Jerome
Hi Simon, TL;DR: I am dropping this patch in v4. On 9/10/24 20:44, Simon Glass wrote: > Hi Jerome, > > On Fri, 6 Sept 2024 at 09:10, Jerome Forissier > <jerome.forissier@linaro.org> wrote: >> >> Hello Simon, >> >> On 9/6/24 17:02, Simon Glass wrote: >>> Hi Jerome, >>> >>> On Tue, 3 Sept 2024 at 02:38, Jerome Forissier >>> <jerome.forissier@linaro.org> wrote: >>>> >>>> When CROSS_COMPILE contains multiple words, HOST_ARCH is not properly >>>> detected and the sandbox build fail. It typically happens when using >>>> ccache. For example: >>>> >>>> $ make sandbox_defconfig >>>> $ make CROSS_COMPILE="ccache x86_64-linux-gnu-" \ >>>> CC="ccache x86_64-linux-gnu-gcc" >>>> [...] >>>> In file included from boot/bootmeth_efi.c:16: >>>> include/efi_default_filename.h:33:2: error: #error Unsupported UEFI architecture >>>> 33 | #error Unsupported UEFI architecture >>>> | ^~~~~ As you mentioned in your reply to this patch in v2 [1], this is not a valid use case (CROSS_COMPILE should not be set for sandbox). [1] http://patchwork.ozlabs.org/project/uboot/patch/e2f0809aa4b9d81cf1709a6b82d803a21ea1fac7.1725012294.git.jerome.forissier@linaro.org/#3377679 >>>> >>>> A similar error occurs when the build is done via buildman and >>>> ~/.buildman contains: >>>> >>>> [toolchain-wrapper] >>>> wrapper = ccache This problem is still present in -next though (which does have your patch "buildman: Support building within a Python venv" [2]). It is my patch "buildman/toolchain.py: do not set CROSS_COMPILE for sandbox" [3] that solves the problem. [2] https://patchwork.ozlabs.org/project/uboot/patch/20240815195746.749042-2-sjg@chromium.org/ [3] http://patchwork.ozlabs.org/project/uboot/patch/f4defe07f87f6c9761b401d435da03460b3b0947.1725351676.git.jerome.forissier@linaro.org/ So all in all this patch is not needed. Regards,
Hi Jerome, On Wed, 11 Sept 2024 at 03:44, Jerome Forissier <jerome.forissier@linaro.org> wrote: > > Hi Simon, > > TL;DR: I am dropping this patch in v4. > > On 9/10/24 20:44, Simon Glass wrote: > > Hi Jerome, > > > > On Fri, 6 Sept 2024 at 09:10, Jerome Forissier > > <jerome.forissier@linaro.org> wrote: > >> > >> Hello Simon, > >> > >> On 9/6/24 17:02, Simon Glass wrote: > >>> Hi Jerome, > >>> > >>> On Tue, 3 Sept 2024 at 02:38, Jerome Forissier > >>> <jerome.forissier@linaro.org> wrote: > >>>> > >>>> When CROSS_COMPILE contains multiple words, HOST_ARCH is not properly > >>>> detected and the sandbox build fail. It typically happens when using > >>>> ccache. For example: > >>>> > >>>> $ make sandbox_defconfig > >>>> $ make CROSS_COMPILE="ccache x86_64-linux-gnu-" \ > >>>> CC="ccache x86_64-linux-gnu-gcc" > >>>> [...] > >>>> In file included from boot/bootmeth_efi.c:16: > >>>> include/efi_default_filename.h:33:2: error: #error Unsupported UEFI architecture > >>>> 33 | #error Unsupported UEFI architecture > >>>> | ^~~~~ > > As you mentioned in your reply to this patch in v2 [1], this is not > a valid use case (CROSS_COMPILE should not be set for sandbox). > > [1] http://patchwork.ozlabs.org/project/uboot/patch/e2f0809aa4b9d81cf1709a6b82d803a21ea1fac7.1725012294.git.jerome.forissier@linaro.org/#3377679 > > >>>> > >>>> A similar error occurs when the build is done via buildman and > >>>> ~/.buildman contains: > >>>> > >>>> [toolchain-wrapper] > >>>> wrapper = ccache > > > This problem is still present in -next though (which does have your > patch "buildman: Support building within a Python venv" [2]). > > It is my patch "buildman/toolchain.py: do not set CROSS_COMPILE for > sandbox" [3] that solves the problem. > > [2] https://patchwork.ozlabs.org/project/uboot/patch/20240815195746.749042-2-sjg@chromium.org/ > [3] http://patchwork.ozlabs.org/project/uboot/patch/f4defe07f87f6c9761b401d435da03460b3b0947.1725351676.git.jerome.forissier@linaro.org/ > > So all in all this patch is not needed. OK, thank you for digging into this. > > Regards, > -- > Jerome > > >>>> Fix the issue by considering only the last word in $(CROSS_COMPILE). > >>>> > >>>> Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> > >>>> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> > >>>> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> > >>>> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> > >>>> --- > >>>> Makefile | 2 +- > >>>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>>> > >>>> diff --git a/Makefile b/Makefile > >>>> index f90e48f58a5..dc7bdd79420 100644 > >>>> --- a/Makefile > >>>> +++ b/Makefile > >>>> @@ -21,7 +21,7 @@ include include/host_arch.h > >>>> ifeq ("", "$(CROSS_COMPILE)") > >>>> MK_ARCH="${shell uname -m}" > >>>> else > >>>> - MK_ARCH="${shell echo $(CROSS_COMPILE) | sed -n 's/^[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\2/p'}" > >>>> + MK_ARCH="${shell echo ${lastword $(CROSS_COMPILE)} | sed -n 's/^[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\2/p'}" > >>>> endif > >>>> unexport HOST_ARCH > >>>> ifeq ("x86_64", $(MK_ARCH)) > >>>> -- > >>>> 2.40.1 > >>>> > >>> > >>> I've lost track of this, but did you pull in [1] first? > >> > >> Oops! No I didn't :-/ In fact I could not find the reference to the patch > >> in your initial email, then I forgot about it. > >> Would you like me to resend the whole series as v4 with your patch included? > > > > I just want to know that there is still a problem, with my patch. So > > yes please try it and update the commit messages as needed for the two > > affected patches. > > > > Regards, > > Simon > > > > > >> > >>> > >>> Regards, > >>> Simon > >>> > >>> [1] https://patchwork.ozlabs.org/project/uboot/patch/20240815195746.749042-2-sjg@chromium.org/ > >> > >> Thanks, > >> -- > >> Jerome Regards, Simon
diff --git a/Makefile b/Makefile index f90e48f58a5..dc7bdd79420 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ include include/host_arch.h ifeq ("", "$(CROSS_COMPILE)") MK_ARCH="${shell uname -m}" else - MK_ARCH="${shell echo $(CROSS_COMPILE) | sed -n 's/^[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\2/p'}" + MK_ARCH="${shell echo ${lastword $(CROSS_COMPILE)} | sed -n 's/^[[:space:]]*\([^\/]*\/\)*\([^-]*\)-[^[:space:]]*/\2/p'}" endif unexport HOST_ARCH ifeq ("x86_64", $(MK_ARCH))