Re: building in 32bit chroot on x86_64 host broken

From: Masahiro Yamada
Date: Sat Jun 09 2018 - 08:24:47 EST


2018-06-08 18:12 GMT+09:00 Michal Kubecek <mkubecek@xxxxxxx>:
> On Thu, Jun 07, 2018 at 12:40:30PM -0700, Linus Torvalds wrote:
>> On Thu, Jun 7, 2018 at 12:35 PM Thomas Backlund <tmb@xxxxxxxxxx> wrote:
>> >
>> > I can work around it for now (or keep the revert in our kernel builds
>> > for now) until it gets properly fixed...
>>
>> So rather than doing the revert, it's probably better if your
>> workaround just does
>>
>> make ARCH=i386 oldconfig
>>
>> (or maybe even just a "export ARCH=i386" in the environment)
>>
>> That should get you to continue to otherwise do the same thing.
>>
>> And if it turns out that your flow is the *only* one affected by this,
>> and nobody else complains, maybe we can just say "yeah, slight change
>> in build rules, easy to work around" and leave it at that.
>
> Not the only one, we hit the same problem when building openSUSE
> packages (4.17-rc1) but we resolved it by always setting ARCH:
>
> https://github.com/openSUSE/kernel-source/commit/fb21b7321ab5
>
> It also revealed that we forgot to pass MAKE_ARGS to other phases of RPM
> build process so we don't have reason to complain.
>
> Michal Kubecek


Just a note.

In case of cross-compiling, not only ARCH but also CROSS_COMPILE
must be passed when you do "make *config".

In this merge window, some compiler option tests are being moved
from Makefiles to the Kconfig phase.

People tend to set "export CROSS_COMPILE=..."
in their build environment.
I have not received any complaint about this change so far.



--
Best Regards
Masahiro Yamada