[U-Boot] help on using buildman

Simon,
Can you shed some light on my trouble? I am trying to use buildman for regression tests. I got inconsistency and am trying to find out why. Take one example MPC832XEMDS_HOST_66 in this case (I randomly pick a failed board)
On one computer
$ ./tools/buildman/buildman -b working_upstream_qoriq --force-build --force-reconfig MPC832XEMDS_HOST_66 -ve No section: 'make-flags' winegcc: gcc-4.5 failed boards.cfg is up to date. Nothing to do. Building 15 commits for 1 boards (1 thread, 4 jobs per thread) 01: ARM: atmel: add sama5d4 xplained ultra board support 02: qe: add u-qe support to arm board 03: qe: add qe support to ls1021aqds 04: qe: add qe support for ls1021a-twr board 05: arm: ls102xa: Fixed a register definition error 06: u_qe: add u_qe_upload_firmware for u_qe 07: powerpc: Move fsl_errata.h out of arch/powerpc 08: driver/usb/fsl: Make FSL USB driver common 09: drivers: usb: fsl: Define USB configs for LS102XA 10: ls1: config: Enable USB EHCI Host on LS1021AQDS 11: arm: ls102xa: Add snoop disable for slave port 0, 1 and 2 12: arm: ls102xa: Remove bit reversing for SCFG registers 13: ls102xa: ifc: nor: fix the write issue when bytes unaligned 14: arm: ls102xa: Add SystemID EEPROM support for LS1021ATWR board 15: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing 15 0 0 /15 MPC832XEMDS_HOST_66
No error.
On another computer
$ ./tools/buildman/buildman -b working_upstream_qoriq --force-build --force-reconfig MPC832XEMDS_HOST_66 -se No section: 'make-flags' boards.cfg is up to date. Nothing to do. Summary of 15 commits for 1 boards (1 thread, 24 jobs per thread) 01: ARM: atmel: add sama5d4 xplained ultra board support powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 02: qe: add u-qe support to arm board powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2 03: qe: add qe support to ls1021aqds powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 04: qe: add qe support for ls1021a-twr board 05: arm: ls102xa: Fixed a register definition error powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2 06: u_qe: add u_qe_upload_firmware for u_qe powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 07: powerpc: Move fsl_errata.h out of arch/powerpc 08: driver/usb/fsl: Make FSL USB driver common powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2 09: drivers: usb: fsl: Define USB configs for LS102XA powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 10: ls1: config: Enable USB EHCI Host on LS1021AQDS powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2 11: arm: ls102xa: Add snoop disable for slave port 0, 1 and 2 powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 12: arm: ls102xa: Remove bit reversing for SCFG registers 13: ls102xa: ifc: nor: fix the write issue when bytes unaligned powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2 14: arm: ls102xa: Add SystemID EEPROM support for LS1021ATWR board powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 15: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2
You can see one error comes on and off. How can I debug it? I don't use python enough to diagnose the code. Is there a way to dump the make command to check?
York

Hi York,
On 20 November 2014 18:47, York Sun yorksun@freescale.com wrote:
Simon,
Can you shed some light on my trouble? I am trying to use buildman for regression tests. I got inconsistency and am trying to find out why. Take one example MPC832XEMDS_HOST_66 in this case (I randomly pick a failed board)
On one computer
$ ./tools/buildman/buildman -b working_upstream_qoriq --force-build --force-reconfig MPC832XEMDS_HOST_66 -ve No section: 'make-flags' winegcc: gcc-4.5 failed boards.cfg is up to date. Nothing to do. Building 15 commits for 1 boards (1 thread, 4 jobs per thread) 01: ARM: atmel: add sama5d4 xplained ultra board support 02: qe: add u-qe support to arm board 03: qe: add qe support to ls1021aqds 04: qe: add qe support for ls1021a-twr board 05: arm: ls102xa: Fixed a register definition error 06: u_qe: add u_qe_upload_firmware for u_qe 07: powerpc: Move fsl_errata.h out of arch/powerpc 08: driver/usb/fsl: Make FSL USB driver common 09: drivers: usb: fsl: Define USB configs for LS102XA 10: ls1: config: Enable USB EHCI Host on LS1021AQDS 11: arm: ls102xa: Add snoop disable for slave port 0, 1 and 2 12: arm: ls102xa: Remove bit reversing for SCFG registers 13: ls102xa: ifc: nor: fix the write issue when bytes unaligned 14: arm: ls102xa: Add SystemID EEPROM support for LS1021ATWR board 15: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing 15 0 0 /15 MPC832XEMDS_HOST_66
No error.
On another computer
$ ./tools/buildman/buildman -b working_upstream_qoriq --force-build --force-reconfig MPC832XEMDS_HOST_66 -se
-s means it won't actually build, just report a previous build. But I suppose you did a previous build.
No section: 'make-flags' boards.cfg is up to date. Nothing to do. Summary of 15 commits for 1 boards (1 thread, 24 jobs per thread) 01: ARM: atmel: add sama5d4 xplained ultra board support powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 02: qe: add u-qe support to arm board powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2 03: qe: add qe support to ls1021aqds powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 04: qe: add qe support for ls1021a-twr board 05: arm: ls102xa: Fixed a register definition error powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2 06: u_qe: add u_qe_upload_firmware for u_qe powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 07: powerpc: Move fsl_errata.h out of arch/powerpc 08: driver/usb/fsl: Make FSL USB driver common powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2 09: drivers: usb: fsl: Define USB configs for LS102XA powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 10: ls1: config: Enable USB EHCI Host on LS1021AQDS powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2 11: arm: ls102xa: Add snoop disable for slave port 0, 1 and 2 powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 12: arm: ls102xa: Remove bit reversing for SCFG registers 13: ls102xa: ifc: nor: fix the write issue when bytes unaligned powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2 14: arm: ls102xa: Add SystemID EEPROM support for LS1021ATWR board powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 15: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing powerpc: MPC832XEMDS_HOST_66 -make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. -make: *** [sub-make] Error 2
It seems to have failed to configure things - there is no $ARCH perhaps?
You can see one error comes on and off. How can I debug it? I don't use python enough to diagnose the code. Is there a way to dump the make command to check?
York
Any change you are missing a toolchain or it is broken?
See ../working_upstream_qoriq/01*/MPC832XEMDS_HOST_66/toolchain for possible clues.
You can only see the make output if you comment out this line in builderthread.py:
#args.append('-s')
Then it will be in a file called 'log'. It would be nice to have an option for that...
Regards, Simon

On 11/20/2014 11:13 AM, Simon Glass wrote:
Hi York,
On 20 November 2014 18:47, York Sun yorksun@freescale.com wrote:
Simon,
Can you shed some light on my trouble? I am trying to use buildman for regression tests. I got inconsistency and am trying to find out why. Take one example MPC832XEMDS_HOST_66 in this case (I randomly pick a failed board)
On one computer
$ ./tools/buildman/buildman -b working_upstream_qoriq --force-build --force-reconfig MPC832XEMDS_HOST_66 -ve No section: 'make-flags' winegcc: gcc-4.5 failed boards.cfg is up to date. Nothing to do. Building 15 commits for 1 boards (1 thread, 4 jobs per thread) 01: ARM: atmel: add sama5d4 xplained ultra board support 02: qe: add u-qe support to arm board 03: qe: add qe support to ls1021aqds 04: qe: add qe support for ls1021a-twr board 05: arm: ls102xa: Fixed a register definition error 06: u_qe: add u_qe_upload_firmware for u_qe 07: powerpc: Move fsl_errata.h out of arch/powerpc 08: driver/usb/fsl: Make FSL USB driver common 09: drivers: usb: fsl: Define USB configs for LS102XA 10: ls1: config: Enable USB EHCI Host on LS1021AQDS 11: arm: ls102xa: Add snoop disable for slave port 0, 1 and 2 12: arm: ls102xa: Remove bit reversing for SCFG registers 13: ls102xa: ifc: nor: fix the write issue when bytes unaligned 14: arm: ls102xa: Add SystemID EEPROM support for LS1021ATWR board 15: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing 15 0 0 /15 MPC832XEMDS_HOST_66
No error.
On another computer
$ ./tools/buildman/buildman -b working_upstream_qoriq --force-build --force-reconfig MPC832XEMDS_HOST_66 -se
-s means it won't actually build, just report a previous build. But I suppose you did a previous build.
Right. I posted the command to show summary by mistake. Here is the one to build it.
$ ./tools/buildman/buildman -b working_upstream_qoriq --force-build --force-reconfig MPC832XEMDS_HOST_66 -ve No section: 'make-flags' boards.cfg is up to date. Nothing to do. Building 15 commits for 1 boards (1 thread, 24 jobs per thread) Cloning repo for thread 0 01: ARM: atmel: add sama5d4 xplained ultra board support powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 02: qe: add u-qe support to arm board 03: qe: add qe support to ls1021aqds powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 04: qe: add qe support for ls1021a-twr board powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 05: arm: ls102xa: Fixed a register definition error 06: u_qe: add u_qe_upload_firmware for u_qe powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 07: powerpc: Move fsl_errata.h out of arch/powerpc powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 08: driver/usb/fsl: Make FSL USB driver common 09: drivers: usb: fsl: Define USB configs for LS102XA powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 10: ls1: config: Enable USB EHCI Host on LS1021AQDS 11: arm: ls102xa: Add snoop disable for slave port 0, 1 and 2 powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 12: arm: ls102xa: Remove bit reversing for SCFG registers powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 13: ls102xa: ifc: nor: fix the write issue when bytes unaligned 14: arm: ls102xa: Add SystemID EEPROM support for LS1021ATWR board powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 15: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing 6 0 9 /15 MPC832XEMDS_HOST_66
It seems to have failed to configure things - there is no $ARCH perhaps?
When I built for more targets, for example 'arm & freescale' powerpc aarch64, I see this kind of errors, but not with all boards. The ARCH is not defined in command line or environment when calling buildman. Beside, this error comes and goes for the same board for different commit. It doesn't make much sense.
You can see one error comes on and off. How can I debug it? I don't use python enough to diagnose the code. Is there a way to dump the make command to check?
York
Any change you are missing a toolchain or it is broken?
See ../working_upstream_qoriq/01*/MPC832XEMDS_HOST_66/toolchain for possible clues.
The toolchain is OK. I use the same setup to build other targets. Not all have this error. Using the same toolchain, I have no error calling MAKEALL.
You can only see the make output if you comment out this line in builderthread.py:
#args.append('-s')
Then it will be in a file called 'log'. It would be nice to have an option for that...
Let me try that.
York

On 11/20/2014 11:22 AM, York Sun wrote:
On 11/20/2014 11:13 AM, Simon Glass wrote:
You can only see the make output if you comment out this line in builderthread.py:
#args.append('-s')
Then it will be in a file called 'log'. It would be nice to have an option for that...
Let me try that.
I made the change to file tools/buildman/builderthread.py
- args.append('-s') +# args.append('-s')
I run it again for one commit and with one board
$ ./tools/buildman/buildman -b working_upstream_qoriq --count=1 --keep-outputs --force-build --force-reconfig MPC832XEMDS_HOST_66 -ve No section: 'make-flags' boards.cfg is up to date. Nothing to do. Building 1 commit for 1 boards (1 thread, 24 jobs per thread) Cloning repo for thread 0 01: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 0 0 1 /1 MPC832XEMDS_HOST_66
$ ll ../working_upstream_qoriq/01_of_01_g3b33b926_arm--ls102xa--Select/MPC832XEMDS_HOST_66/ total 28 -rw-rw-r-- 1 jenkins jenkins 11588 Nov 20 13:28 autoconf.mk -rw-rw-r-- 1 jenkins jenkins 1 Nov 20 13:28 done -rw-rw-r-- 1 jenkins jenkins 168 Nov 20 13:28 err -rw-rw-r-- 1 jenkins jenkins 939 Nov 20 13:28 log -rw-rw-r-- 1 jenkins jenkins 276 Nov 20 13:28 toolchain
I don't see much useful information in file log
$ cat ../working_upstream_qoriq/01_of_01_g3b33b926_arm--ls102xa--Select/MPC832XEMDS_HOST_66/log
make[1]: Entering directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq/.bm-work/00/build' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h UPD include/config.h GEN include/autoconf.mk GEN include/autoconf.mk.dep make[1]: Leaving directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq/.bm-work/00/build' make[1]: Entering directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq/.bm-work/00/build' CHK include/config/uboot.release CHK include/generated/timestamp_autogenerated.h GEN ./Makefile UPD include/generated/timestamp_autogenerated.h UPD include/config/uboot.release make[1]: Leaving directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq/.bm-work/00/build'
Nothing more than that. Where shall I look for ARCH?
If I build for board T4240QDS, it has error on most but not all. T4240QDS T4240QDS_SRIO_PCIE_BOOT T4240QDS_SECURE_BOOT failed, but T4240QDS_NAND didn't.
York

Hi York,
On 20 November 2014 19:46, York Sun yorksun@freescale.com wrote:
On 11/20/2014 11:22 AM, York Sun wrote:
On 11/20/2014 11:13 AM, Simon Glass wrote:
You can only see the make output if you comment out this line in builderthread.py:
#args.append('-s')
Then it will be in a file called 'log'. It would be nice to have an option for that...
Let me try that.
I made the change to file tools/buildman/builderthread.py
args.append('-s')
+# args.append('-s')
I run it again for one commit and with one board
$ ./tools/buildman/buildman -b working_upstream_qoriq --count=1 --keep-outputs --force-build --force-reconfig MPC832XEMDS_HOST_66 -ve No section: 'make-flags' boards.cfg is up to date. Nothing to do. Building 1 commit for 1 boards (1 thread, 24 jobs per thread) Cloning repo for thread 0 01: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 0 0 1 /1 MPC832XEMDS_HOST_66
$ ll ../working_upstream_qoriq/01_of_01_g3b33b926_arm--ls102xa--Select/MPC832XEMDS_HOST_66/ total 28 -rw-rw-r-- 1 jenkins jenkins 11588 Nov 20 13:28 autoconf.mk -rw-rw-r-- 1 jenkins jenkins 1 Nov 20 13:28 done -rw-rw-r-- 1 jenkins jenkins 168 Nov 20 13:28 err -rw-rw-r-- 1 jenkins jenkins 939 Nov 20 13:28 log -rw-rw-r-- 1 jenkins jenkins 276 Nov 20 13:28 toolchain
I don't see much useful information in file log
$ cat ../working_upstream_qoriq/01_of_01_g3b33b926_arm--ls102xa--Select/MPC832XEMDS_HOST_66/log
make[1]: Entering directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq/.bm-work/00/build' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h UPD include/config.h GEN include/autoconf.mk GEN include/autoconf.mk.dep make[1]: Leaving directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq/.bm-work/00/build' make[1]: Entering directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq/.bm-work/00/build' CHK include/config/uboot.release CHK include/generated/timestamp_autogenerated.h GEN ./Makefile UPD include/generated/timestamp_autogenerated.h UPD include/config/uboot.release make[1]: Leaving directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq/.bm-work/00/build'
Nothing more than that. Where shall I look for ARCH?
That doesn't look like a full build to me. The 'err' file may have more clues. You could try without '--force-build --force-reconfig' perhaps.
If I build for board T4240QDS, it has error on most but not all. T4240QDS T4240QDS_SRIO_PCIE_BOOT T4240QDS_SECURE_BOOT failed, but T4240QDS_NAND didn't.
It's a bit of a mystery. How about adding V=1 in your make flags in ~/.buildman:
[make-flags] T4240QDS=V=1
Regards, Simon

On 11/20/2014 11:51 AM, Simon Glass wrote:
Nothing more than that. Where shall I look for ARCH?
That doesn't look like a full build to me. The 'err' file may have more clues. You could try without '--force-build --force-reconfig' perhaps.
No, it failed. The err file has this
$ cat err make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. make[1]: *** Waiting for unfinished jobs.... make: *** [sub-make] Error 2
If I build for board T4240QDS, it has error on most but not all. T4240QDS T4240QDS_SRIO_PCIE_BOOT T4240QDS_SECURE_BOOT failed, but T4240QDS_NAND didn't.
It's a bit of a mystery. How about adding V=1 in your make flags in ~/.buildman:
I think the key is to configure it, not build it. With the failure case, it doesn't build. I am thinking to find the equivalent to "make ARCH=power ...". How to dump that?
York

Hi York,
On 20 November 2014 19:55, York Sun yorksun@freescale.com wrote:
On 11/20/2014 11:51 AM, Simon Glass wrote:
Nothing more than that. Where shall I look for ARCH?
That doesn't look like a full build to me. The 'err' file may have more clues. You could try without '--force-build --force-reconfig' perhaps.
No, it failed. The err file has this
$ cat err make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. make[1]: *** Waiting for unfinished jobs.... make: *** [sub-make] Error 2
If I build for board T4240QDS, it has error on most but not all. T4240QDS T4240QDS_SRIO_PCIE_BOOT T4240QDS_SECURE_BOOT failed, but T4240QDS_NAND didn't.
It's a bit of a mystery. How about adding V=1 in your make flags in ~/.buildman:
I think the key is to configure it, not build it. With the failure case, it doesn't build. I am thinking to find the equivalent to "make ARCH=power ...". How to dump that?
Add a 'print' line to make() in builder.py:
cmd = [self.gnu_make] + list(args) print cmd result = command.RunPipe([cmd], capture=True, capture_stderr=True, cwd=cwd, raise_on_error=False, **kwargs) return result
Regards, Simon

On 11/20/2014 12:10 PM, Simon Glass wrote:
Hi York,
I think the key is to configure it, not build it. With the failure case, it doesn't build. I am thinking to find the equivalent to "make ARCH=power ...". How to dump that?
Add a 'print' line to make() in builder.py:
cmd = [self.gnu_make] + list(args) print cmd result = command.RunPipe([cmd], capture=True, capture_stderr=True, cwd=cwd, raise_on_error=False, **kwargs) return result
Thanks. Adding the "print cmd" makes the issue disappeared. Removing it, the issue comes back. Add it back, it is gone again. I removed the working directory each time before building it. See the commands below
$ !407 ./tools/buildman/buildman -b working_upstream_qoriq --count=1 --keep-outputs --force-build --force-reconfig MPC832XEMDS_HOST_66 -ve No section: 'make-flags' boards.cfg is up to date. Nothing to do. Building 1 commit for 1 boards (1 thread, 24 jobs per thread) Cloning repo for thread 0 0 0 0 /1 (starting) ['make', 'mrproper', 'O=build', '-j', '24'] ['make', 'O=build', '-j', '24', 'MPC832XEMDS_HOST_66_defconfig'] ['make', 'O=build', '-j', '24'] 01: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing 1 0 0 /1 MPC832XEMDS_HOST_66 -bash-3.2$ git diff diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py index 8155c16..0411959 100644 --- a/tools/buildman/builder.py +++ b/tools/buildman/builder.py @@ -324,6 +324,7 @@ class Builder: kwargs: Arguments to pass to command.RunPipe() """ cmd = [self.gnu_make] + list(args) + print cmd result = command.RunPipe([cmd], capture=True, capture_stderr=True, cwd=cwd, raise_on_error=False, **kwargs) return result diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py index a9cf68a..d9526e6 100644 --- a/tools/buildman/builderthread.py +++ b/tools/buildman/builderthread.py @@ -197,7 +197,7 @@ class BuilderThread(threading.Thread): src_dir = os.getcwd() else: args.append('O=build') - args.append('-s') +# args.append('-s') if self.builder.num_jobs is not None: args.extend(['-j', str(self.builder.num_jobs)]) config_args = ['%s_defconfig' % brd.target] -bash-3.2$ git checkout tools/buildman/builder.py -bash-3.2$ rm -rf ../working_upstream_qoriq/ -bash-3.2$ ./tools/buildman/buildman -b working_upstream_qoriq --count=1 --keep-outputs --force-build --force-reconfig MPC832XEMDS_HOST_66 -ve No section: 'make-flags' boards.cfg is up to date. Nothing to do. Building 1 commit for 1 boards (1 thread, 24 jobs per thread) Cloning repo for thread 0 01: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing powerpc: + MPC832XEMDS_HOST_66 +make[1]: *** No rule to make target `../arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. +make: *** [sub-make] Error 2 0 0 1 /1 MPC832XEMDS_HOST_66 -bash-3.2$ vi tools/buildman/builder.py -bash-3.2$ rm -rf ../working_upstream_qoriq/-bash-3.2$ ./tools/buildman/buildman -b working_upstream_qoriq --count=1 --keep-outputs --force-build --force-reconfig MPC832XEMDS_HOST_66 -ve No section: 'make-flags' boards.cfg is up to date. Nothing to do. Building 1 commit for 1 boards (1 thread, 24 jobs per thread) Cloning repo for thread 0 0 0 0 /1 (starting) ['make', 'mrproper', 'O=build', '-j', '24'] ['make', 'O=build', '-j', '24', 'MPC832XEMDS_HOST_66_defconfig'] ['make', 'O=build', '-j', '24'] 01: arm: ls102xa: Select ge2_clk125 for eTSEC clock muxing 1 0 0 /1 MPC832XEMDS_HOST_66 -bash-3.2$
I don't see ARCH defined anywhere.
York

On 11/20/2014 01:04 PM, York Sun wrote:
On 11/20/2014 12:18 PM, York Sun wrote:
I don't see ARCH defined anywhere.
Simon,
I think ARCH is defined in Kconfig as SYS_ARCH. Is it possible buildman runs out-of-order?
There is something. When the server is under heavy load, this error doesn't show. When the server is mostly idling, the error comes. Any suggestion to debug it?
York

On 11/20/2014 01:33 PM, York Sun wrote:
On 11/20/2014 01:04 PM, York Sun wrote:
On 11/20/2014 12:18 PM, York Sun wrote:
I don't see ARCH defined anywhere.
Simon,
I think ARCH is defined in Kconfig as SYS_ARCH. Is it possible buildman runs out-of-order?
There is something. When the server is under heavy load, this error doesn't show. When the server is mostly idling, the error comes. Any suggestion to debug it?
Scratch that. It is not consistent.
York

Hi York,
On 20 November 2014 21:34, York Sun yorksun@freescale.com wrote:
On 11/20/2014 01:33 PM, York Sun wrote:
On 11/20/2014 01:04 PM, York Sun wrote:
On 11/20/2014 12:18 PM, York Sun wrote:
I don't see ARCH defined anywhere.
Simon,
I think ARCH is defined in Kconfig as SYS_ARCH. Is it possible buildman runs out-of-order?
There is something. When the server is under heavy load, this error doesn't show. When the server is mostly idling, the error comes. Any suggestion to debug it?
Scratch that. It is not consistent.
It's a mystery to me. I haven't seen this problem in much usage and can only suggest digging in to figure it out.
Regards, Simon

On 11/20/2014 01:46 PM, Simon Glass wrote:
Hi York,
On 20 November 2014 21:34, York Sun yorksun@freescale.com wrote:
On 11/20/2014 01:33 PM, York Sun wrote:
On 11/20/2014 01:04 PM, York Sun wrote:
On 11/20/2014 12:18 PM, York Sun wrote:
I don't see ARCH defined anywhere.
Simon,
I think ARCH is defined in Kconfig as SYS_ARCH. Is it possible buildman runs out-of-order?
There is something. When the server is under heavy load, this error doesn't show. When the server is mostly idling, the error comes. Any suggestion to debug it?
Scratch that. It is not consistent.
It's a mystery to me. I haven't seen this problem in much usage and can only suggest digging in to figure it out.
Found something but not the root cause yet. For the failure run, it runs in Makefile, passed include/config/uboot.release, but not anything under "prepare3:". For the success run, it continues to run.
-bash-3.2$ more log make[1]: Entering directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting- pull/working_upstream_qoriq/.bm-work/00/build' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h UPD include/config.h GEN include/autoconf.mk GEN include/autoconf.mk.dep make[1]: Leaving directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-p ull/working_upstream_qoriq/.bm-work/00/build' make[1]: Entering directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting- pull/working_upstream_qoriq/.bm-work/00/build' echo "York debug here" York debug here CHK include/config/uboot.release CHK include/generated/timestamp_autogenerated.h GEN ./Makefile UPD include/generated/timestamp_autogenerated.h UPD include/config/uboot.release echo "Done uboot.release" Done uboot.release
(note, for the success run, the log would have "Using .. as source for U-Boot" here)
make[1]: Leaving directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-p ull/working_upstream_qoriq/.bm-work/00/build'
Not sure if this is still buildman related, but only visible when running with buildman.
York

On 11/20/2014 02:25 PM, York Sun wrote:
Not sure if this is still buildman related, but only visible when running with buildman.
Simon,
It seems related to out-of-tree building.
For the failure case, the dependency "include/config/uboot.release" completes but not continue to run. It seems to be related to out of tree building. When I use buildman, it use out-of-tree building by default. I can reproduce the issue by using make directly with O=<path>. I don't understand how out-of-tree building would inconsistently fail.
-bash-3.2$ CROSS_COMPILE=/opt/fsl-networking/QorIQ-SDK-V1.4/sysroots/x86_64-fsl_networking_sdk-linux/usr/bin/ppce500mc-fsl_networking-linux/powerpc-fsl_networking-linux- make -j24 O=../working_upstream_qoriq/ mrproper MPC832XEMDS_HOST_66_defconfig all make[1]: Entering directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq' CLEAN tools CLEAN tools/lib tools/common CLEAN scripts/basic CLEAN scripts/kconfig CLEAN u-boot.lds CLEAN include/config include/generated CLEAN .config include/autoconf.mk include/autoconf.mk.dep include/config.h HOSTCC scripts/basic/fixdep GEN ./Makefile HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c: In function ‘get_symbol_str’: /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c:551: warning: ‘jump’ may be used uninitialized in this function HOSTLD scripts/kconfig/conf # # configuration written to .config # GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h UPD include/config.h GEN include/autoconf.mk GEN include/autoconf.mk.dep CHK include/config/uboot.release GEN ./Makefile CHK include/generated/timestamp_autogenerated.h make[2]: *** No rule to make target `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. make[2]: *** Waiting for unfinished jobs.... UPD include/generated/timestamp_autogenerated.h UPD include/config/uboot.release make[1]: *** [__build_one_by_one] Error 2 make[1]: Leaving directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq' make: *** [sub-make] Error 2
For the passed case, the log is
-bash-3.2$ CROSS_COMPILE=/opt/fsl-networking/QorIQ-SDK-V1.4/sysroots/x86_64-fsl_networking_sdk-linux/usr/bin/ppce500mc-fsl_networking-linux/powerpc-fsl_networking-linux- make -j24 O=../working_upstream_qoriq/ mrproper MPC832XEMDS_HOST_66_defconfig all make[1]: Entering directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq' CLEAN scripts/basic CLEAN scripts/kconfig CLEAN include/config include/generated CLEAN .config include/autoconf.mk include/autoconf.mk.dep include/config.h HOSTCC scripts/basic/fixdep GEN ./Makefile HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c: In function ‘get_symbol_str’: /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c:551: warning: ‘jump’ may be used uninitialized in this function HOSTLD scripts/kconfig/conf # # configuration written to .config # GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h UPD include/config.h GEN include/autoconf.mk GEN include/autoconf.mk.dep CHK include/config/uboot.release CHK include/generated/timestamp_autogenerated.h GEN ./Makefile UPD include/generated/timestamp_autogenerated.h UPD include/config/uboot.release Using /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace as source for U-Boot CHK include/generated/version_autogenerated.h UPD include/generated/version_autogenerated.h CC lib/asm-offsets.s GEN include/generated/generic-asm-offsets.h LDS u-boot.lds HOSTCC tools/envcrc.o WRAP tools/lib/crc32.c WRAP tools/common/env_embedded.c WRAP tools/lib/sha1.c HOSTCC tools/gen_eth_addr HOSTCC tools/img2srec HOSTCC tools/mkenvimage.o HOSTCC tools/os_support.o (and keep going)
York

+Masahiro who may have some ideas
Hi York,
On 21 November 2014 00:35, York Sun yorksun@freescale.com wrote:
On 11/20/2014 02:25 PM, York Sun wrote:
Not sure if this is still buildman related, but only visible when running with buildman.
Simon,
It seems related to out-of-tree building.
For the failure case, the dependency "include/config/uboot.release" completes but not continue to run. It seems to be related to out of tree building. When I use buildman, it use out-of-tree building by default. I can reproduce the issue by using make directly with O=<path>. I don't understand how out-of-tree building would inconsistently fail.
-bash-3.2$ CROSS_COMPILE=/opt/fsl-networking/QorIQ-SDK-V1.4/sysroots/x86_64-fsl_networking_sdk-linux/usr/bin/ppce500mc-fsl_networking-linux/powerpc-fsl_networking-linux- make -j24 O=../working_upstream_qoriq/ mrproper MPC832XEMDS_HOST_66_defconfig all make[1]: Entering directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq' CLEAN tools CLEAN tools/lib tools/common CLEAN scripts/basic CLEAN scripts/kconfig CLEAN u-boot.lds CLEAN include/config include/generated CLEAN .config include/autoconf.mk include/autoconf.mk.dep include/config.h HOSTCC scripts/basic/fixdep GEN ./Makefile HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c: In function ‘get_symbol_str’: /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c:551: warning: ‘jump’ may be used uninitialized in this function HOSTLD scripts/kconfig/conf # # configuration written to .config # GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h UPD include/config.h GEN include/autoconf.mk GEN include/autoconf.mk.dep CHK include/config/uboot.release GEN ./Makefile CHK include/generated/timestamp_autogenerated.h make[2]: *** No rule to make target `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop. make[2]: *** Waiting for unfinished jobs.... UPD include/generated/timestamp_autogenerated.h UPD include/config/uboot.release make[1]: *** [__build_one_by_one] Error 2 make[1]: Leaving directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq' make: *** [sub-make] Error 2
For the passed case, the log is
-bash-3.2$ CROSS_COMPILE=/opt/fsl-networking/QorIQ-SDK-V1.4/sysroots/x86_64-fsl_networking_sdk-linux/usr/bin/ppce500mc-fsl_networking-linux/powerpc-fsl_networking-linux- make -j24 O=../working_upstream_qoriq/ mrproper MPC832XEMDS_HOST_66_defconfig all make[1]: Entering directory `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/working_upstream_qoriq' CLEAN scripts/basic CLEAN scripts/kconfig CLEAN include/config include/generated CLEAN .config include/autoconf.mk include/autoconf.mk.dep include/config.h HOSTCC scripts/basic/fixdep GEN ./Makefile HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c: In function ‘get_symbol_str’: /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c:551: warning: ‘jump’ may be used uninitialized in this function HOSTLD scripts/kconfig/conf # # configuration written to .config # GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h UPD include/config.h GEN include/autoconf.mk GEN include/autoconf.mk.dep CHK include/config/uboot.release CHK include/generated/timestamp_autogenerated.h GEN ./Makefile UPD include/generated/timestamp_autogenerated.h UPD include/config/uboot.release Using /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace as source for U-Boot CHK include/generated/version_autogenerated.h UPD include/generated/version_autogenerated.h CC lib/asm-offsets.s GEN include/generated/generic-asm-offsets.h LDS u-boot.lds HOSTCC tools/envcrc.o WRAP tools/lib/crc32.c WRAP tools/common/env_embedded.c WRAP tools/lib/sha1.c HOSTCC tools/gen_eth_addr HOSTCC tools/img2srec HOSTCC tools/mkenvimage.o HOSTCC tools/os_support.o (and keep going)
This may be unrelated to buildman, but to check you can use the -i flag to enable an in-tree build.
Regards, Simon

Hi York, Simon,
On Fri, 21 Nov 2014 05:14:02 +0100 Simon Glass sjg@chromium.org wrote:
+Masahiro who may have some ideas
Hi York,
On 21 November 2014 00:35, York Sun yorksun@freescale.com wrote:
On 11/20/2014 02:25 PM, York Sun wrote:
Not sure if this is still buildman related, but only visible when running with buildman.
Simon,
It seems related to out-of-tree building.
For the failure case, the dependency "include/config/uboot.release" completes but not continue to run. It seems to be related to out of tree building. When I use buildman, it use out-of-tree building by default. I can reproduce the issue by using make directly with O=<path>. I don't understand how out-of-tree building would inconsistently fail.
-bash-3.2$ CROSS_COMPILE=/opt/fsl-networking/QorIQ-SDK-V1.4/sysroots/x86_64-fsl_networking_sdk-linux/usr/bin/ppce500mc-fsl_networking-linux/powerpc-fsl_networking-linux- make -j24 O=../working_upstream_qoriq/ mrproper MPC832XEMDS_HOST_66_defconfig all
Please do not run "mrproper" with "*_defconfig" and "all".
Doing "_defconfig" and "all" at one time is supported, but you must "clean" or "mrproper" separately. This is the upstream limitation. Linux Kernel does not support it either.
Without -j* option, "make mrproper *_defconfig all" works, of course, because they are run one by one in the given order.
With -j* option, it would not work because the build system removes some files while it compiles other objects.
I guess this is the root cause of the inconsistent fails you have seen.
Best Regards Masahiro Yamada

Hi York, Simon,
On Fri, 21 Nov 2014 13:42:05 +0900 Masahiro Yamada yamada.m@jp.panasonic.com wrote:
Hi York,
On 21 November 2014 00:35, York Sun yorksun@freescale.com wrote:
On 11/20/2014 02:25 PM, York Sun wrote:
Not sure if this is still buildman related, but only visible when running with buildman.
Simon,
It seems related to out-of-tree building.
For the failure case, the dependency "include/config/uboot.release" completes but not continue to run. It seems to be related to out of tree building. When I use buildman, it use out-of-tree building by default. I can reproduce the issue by using make directly with O=<path>. I don't understand how out-of-tree building would inconsistently fail.
-bash-3.2$ CROSS_COMPILE=/opt/fsl-networking/QorIQ-SDK-V1.4/sysroots/x86_64-fsl_networking_sdk-linux/usr/bin/ppce500mc-fsl_networking-linux/powerpc-fsl_networking-linux- make -j24 O=../working_upstream_qoriq/ mrproper MPC832XEMDS_HOST_66_defconfig all
Please do not run "mrproper" with "*_defconfig" and "all".
Doing "_defconfig" and "all" at one time is supported, but you must "clean" or "mrproper" separately. This is the upstream limitation. Linux Kernel does not support it either.
Without -j* option, "make mrproper *_defconfig all" works, of course, because they are run one by one in the given order.
With -j* option, it would not work because the build system removes some files while it compiles other objects.
I guess this is the root cause of the inconsistent fails you have seen.
Sorry, this was my misunderstanding.
"make mrproper *_defconfig all" works. Then, it is still a mystery...
Best Regards Masahiro Yamada

Thanks for the hint. I should point out buildman does the three steps separately, and only apply -j to the last step. But I still see the failure.
York
________________________________ From: Masahiro Yamada Sent: Thu, 20/11/2014 20:42 To: Sun York-R58495 yorksun@freescale.com; Simon Glass sjg@chromium.org CC: u-boot@lists.denx.de; Wolfgang Denk wd@denx.de Subject: Re: [U-Boot] help on using buildman
Hi York, Simon,
On Fri, 21 Nov 2014 05:14:02 +0100 Simon Glass sjg@chromium.org wrote:
+Masahiro who may have some ideas
Hi York,
On 21 November 2014 00:35, York Sun yorksun@freescale.com wrote:
On 11/20/2014 02:25 PM, York Sun wrote:
Not sure if this is still buildman related, but only visible when running with buildman.
Simon,
It seems related to out-of-tree building.
For the failure case, the dependency "include/config/uboot.release" completes but not continue to run. It seems to be related to out of tree building. When I use buildman, it use out-of-tree building by default. I can reproduce the issue by using make directly with O=<path>. I don't understand how out-of-tree building would inconsistently fail.
-bash-3.2$ CROSS_COMPILE=/opt/fsl-networking/QorIQ-SDK-V1.4/sysroots/x86_64-fsl_networking_sdk-linux/usr/bin/ppce500mc-fsl_networking-linux/powerpc-fsl_networking-linux- make -j24 O=../working_upstream_qoriq/ mrproper MPC832XEMDS_HOST_66_defconfig all
Please do not run "mrproper" with "*_defconfig" and "all".
Doing "_defconfig" and "all" at one time is supported, but you must "clean" or "mrproper" separately. This is the upstream limitation. Linux Kernel does not support it either.
Without -j* option, "make mrproper *_defconfig all" works, of course, because they are run one by one in the given order.
With -j* option, it would not work because the build system removes some files while it compiles other objects.
I guess this is the root cause of the inconsistent fails you have seen.
Best Regards Masahiro Yamada

Hi York,
I have not been able to reproduce this issue on my box, but the cause surely resides on Kbuild itself. It is not related to buildman at all.
/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c: In function 組et_symbol_str・ /local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/scripts/kconfig/menu.c:551: warning: 阻ump・may be used uninitialized in this function HOSTLD scripts/kconfig/conf # # configuration written to .config # GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h UPD include/config.h GEN include/autoconf.mk GEN include/autoconf.mk.dep CHK include/config/uboot.release GEN ./Makefile CHK include/generated/timestamp_autogenerated.h make[2]: *** No rule to make target `/local/jenkins/jobs/york-scm-test-upstream-before-requesting-pull/workspace/arch//cpu/u-boot.lds', needed by `u-boot.lds'. Stop.
According to this fail log, "ARCH" has not been defined yet when LDSCRIPT is evaluated.
# If there is no specified link script, we look in a number of places for it ifndef LDSCRIPT ifeq ($(wildcard $(LDSCRIPT)),) LDSCRIPT := $(srctree)/board/$(BOARDDIR)/u-boot.lds endif ifeq ($(wildcard $(LDSCRIPT)),) LDSCRIPT := $(srctree)/$(CPUDIR)/u-boot.lds endif ifeq ($(wildcard $(LDSCRIPT)),) LDSCRIPT := $(srctree)/arch/$(ARCH)/cpu/u-boot.lds endif endif
I am not sure the real cause but it looks like the following code does not work on *some* situation.
autoconf_is_current := $(if $(wildcard $(KCONFIG_CONFIG)),$(shell find . \ -path ./include/config/auto.conf -newer $(KCONFIG_CONFIG))) ifneq ($(autoconf_is_current),) include $(srctree)/config.mk endif
Now I have realized that it is the problem I am responsible to fix, but it might not be easy enough to change LDSCRIPT stuff.
So, my question is, how much time can you give me to fix it? Can you bare with it one month or so?
Best Regards Masahiro Yamada

On 11/20/2014 08:14 PM, Simon Glass wrote:
(and keep going)
This may be unrelated to buildman, but to check you can use the -i flag to enable an in-tree build.
Thanks for the tip, but it didn't help. I repeatedly run 10 times. 3 out of 10 failed. FWIW, MAKEALL fails the same way. Is there anything funny about CentOS 5.11?
York
participants (3)
-
Masahiro Yamada
-
Simon Glass
-
York Sun