[U-Boot] Build problem with crownbay

Bin Meng bmeng.cn at gmail.com
Mon Dec 15 05:59:49 CET 2014


Hi Simon,

On Mon, Dec 15, 2014 at 12:28 PM, Simon Glass <sjg at chromium.org> wrote:
> Hi Bin,
>
> On 14 December 2014 at 19:59, Bin Meng <bmeng.cn at gmail.com> wrote:
>> Hi Simon,
>>
>> On Sun, Dec 14, 2014 at 11:44 PM, Simon Glass <sjg at chromium.org> wrote:
>>> Hi Bin,
>>>
>>> On 14 December 2014 at 08:09, Bin Meng <bmeng.cn at gmail.com> wrote:
>>>> Hi Simon,
>>>>
>>>> On Sun, Dec 14, 2014 at 1:35 PM, Simon Glass <sjg at chromium.org> wrote:
>>>>> Hi Bin,
>>>>>
>>>>> I see the following problem when trying to build crownbay:
>>>>>
>>>>> ./tools/buildman/buildman crownbay -se
>>>>> boards.cfg is up to date. Nothing to do.
>>>>> Summary of current source for 1 boards (1 thread, 32 jobs per thread)
>>>>>        x86: +   crownbay
>>>>> +{standard input}: Assembler messages:
>>>>> +{standard input}:136: Error: can't open M0220661105.inc for reading:
>>>>> No such file or directory
>>>>> +make[3]: *** [arch/x86/cpu/queensbay/tnc_car.o] Error 1
>>>>> +make[2]: *** [arch/x86/cpu/queensbay] Error 2
>>>>> +make[1]: *** [arch/x86/cpu] Error 2
>>>>> +make: *** [sub-make] Error 2
>>>>>
>>>>> Can you please take a look?
>>>>>
>>>>> I have pushed the test code to u-boot-x86/testing.
>>>>
>>>> I am not familiar with the buildman. I switched to the
>>>> u-boot-x86/testing branch and did the same command as you:
>>>>
>>>> $ ./tools/buildman/buildman crownbay -se
>>>> WARNING: no status info for 'beagle_x15'
>>>> WARNING: no maintainers for 'beagle_x15'
>>>> WARNING: no status info for 'stv0991'
>>>> WARNING: no maintainers for 'stv0991'
>>>> WARNING: no status info for 'socfpga_socrates'
>>>> WARNING: no maintainers for 'socfpga_socrates'
>>>> Summary of current source for 1 boards (1 thread, 24 jobs per thread)
>>>> (no errors to report)
>>>
>>> In order to build (rather than summarise results) take off the -se.
>>
>> $ ./tools/buildman/buildman crownbay
>> boards.cfg is up to date. Nothing to do.
>> Building current source for 1 boards (1 thread, 24 jobs per thread)
>>     0    0    1 /1      crownbay
>>
>> Seems nothing wrong?
>
> That means 1 failure out of 1 build. It should show up red.
>
> /tools/buildman/buildman crownbay -e
>
> will show you errors.

The '-e' did not show the errors on my side.

$ ./tools/buildman/buildman crownbay -e
boards.cfg is up to date. Nothing to do.
Building current source for 1 boards (1 thread, 24 jobs per thread)
    0    0    1 /1      crownbay

I know we have the patches to resolve the microcode assembler include
issue, but I am trying to get familiar with the buildman.

>>
>>>>
>>>> My ~/.buildman is as follows:
>>>>
>>>> $ cat ~/.buildman
>>>> [toolchain]
>>>> root: /
>>>>
>>>> [toolchain-alias]
>>>> x86: i386
>>>>
>>>> [make-flags]
>>>>
>>>> I did a u-boot.rom build for crownbay from the u-boot root directory
>>>> and it builds fine.
>>>>
>>>> Based on the error message you gave, it looks like buildman is trying
>>>> to cd into the 'arch/x86/cpu/queensbay/' directory and build it from
>>>> there? What exact command build is using? The error message is related
>>>> to tnc_car.S line#126
>>>>
>>>> 125 ucode_start:
>>>> 126         .include "arch/x86/cpu/queensbay/M0220661105.inc"
>>>> 127 ucode_size = ( . - ucode_start)
>>>>
>>>> So if the build is started from 'arch/x86/cpu/queensbay directory',
>>>> the build will fail. But if started from u-boot root directory, there
>>>> will be no problem.
>>>
>>> Well buildman just uses the normal build system. If you need to
>>> include files then they will have to go either in the same directory
>>> or in the include/asm/arch directory.
>>
>> Well, the .include search path is controlled by -I option passed to
>> the gnu assembler. The "arch/x86/cpu/queensbay/M0220661105.inc" path
>> can only be recognized if the U-Boot build is started from root. But
>> based on the error message you gave, looks like buildman did not start
>> the build from the root directory.
>>
>>> Are you using a cross-compiler? Are you using an in-tree build? How do
>>> you build it>
>>
>> Yes, a cross-compiler (64-bit) to produce the 32-bit U-Boot codes. The
>> build I used is:
>>
>> in the U-Boot root
>> $ make crownbay_defconfig
>> $ make
>>
>
> OK, try:
>
> $ make O=crownbay crownbay_defconfig
> $ make O=crownbay

Ah, that's the issue. So the crownbay build does not support the 'O='
other than root which is caused by the assembler include.

Regards,
Bin


More information about the U-Boot mailing list