[OE-core] package_write_ipk somehow looks into the wrong path

Mike Looijmans mike.looijmans at topic.nl
Fri May 17 09:43:22 UTC 2013


I got this very weird build failure. It builds fine for one machine 
(zedboard), but it craps out in a really weird way on the "zynq-zc702" 
machine.

Somehow the "package_write_ipk" task wants to find files in a directory 
with "1-r0" (a version that has once existed a long long time ago) in 
the version part, instead of the proper git hashed name.

I've tried a "cleansstate" but that did not help. The "compile" step in 
this recipe takes about 1,5 hour on my i7 system, so debugging this 
recipe is painfully slow...

I've attached the recipes, pasted the log below.




mike at paradigit:~/zynq/build$ nice -n 15 bitbake my-image
Loading cache: 100% |###########################################| ETA: 
00:00:00
Loaded 1907 entries from dependency cache.
Parsing recipes: 100% |#########################################| Time: 
00:00:00
Parsing of 1517 .bb files complete (1514 cached, 3 parsed). 1909 
targets, 115 skipped, 0 masked, 0 errors.

Build Configuration:
BB_VERSION        = "1.17.1"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-11.10"
TARGET_SYS        = "arm-oe-linux-gnueabi"
MACHINE           = "zynq-zc702"
DISTRO            = "tiny"
DISTRO_VERSION    = "oe-core.0"
TUNE_FEATURES     = "armv7a vfp neon"
TARGET_FPU        = "vfp-neon"
meta              = "master:a3c1e0f4e519921a692a5f4d1268a4eb249b1b03"
meta-oe
toolchain-layer
meta-efl
meta-gpe
meta-gnome
meta-xfce
meta-multimedia   = "master:3dcea929763e6a3233dbe620920f02682b28bb8d"
meta-zynq         = "master:7458ae3d3007c8159152a930a7f40991c1725240"
meta-topic        = "master:860265ec025e9c7f05acd0778591cc9390a39e6c"

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Error executing a python function in 
/home/mike/zynq/meta-zynq/recipes-bsp/fpga/fpga-image.bb:
OSError: [Errno 2] No such file or directory: 
'/home/mike/zynq/build/tmp-eglibc/work/zynq-zc702-oe-linux-gnueabi/fpga-image/1-r0/packages-split/fpga-image'

ERROR: The stack trace of python calls that resulted in this 
exception/failure was:
ERROR:   File "do_package_ipk", line 194, in <module>
ERROR:
ERROR:   File "do_package_ipk", line 45, in do_package_ipk
ERROR:
ERROR: The code that was being executed was:
ERROR:      0190:        bb.utils.unlockfile(lf)
ERROR:      0191:
ERROR:      0192:
ERROR:      0193:
ERROR:  *** 0194:do_package_ipk(d)
ERROR:      0195:
ERROR: [From file: 'do_package_ipk', lineno: 194, function: <module>]
ERROR:      0041:        basedir = os.path.join(os.path.dirname(root))
ERROR:      0042:        arch = localdata.getVar('PACKAGE_ARCH', True)
ERROR:      0043:        pkgoutdir = "%s/%s" % (outdir, arch)
ERROR:      0044:        bb.mkdirhier(pkgoutdir)
ERROR:  *** 0045:        os.chdir(root)
ERROR:      0046:        from glob import glob
ERROR:      0047:        g = glob('*')
ERROR:      0048:        try:
ERROR:      0049:            del g[g.index('CONTROL')]
ERROR: [From file: 'do_package_ipk', lineno: 45, function: do_package_ipk]
ERROR: Function failed: do_package_ipk
ERROR: Execution of event handler 'run_buildstats' failed
Traceback (most recent call last):
   File "run_buildstats(e)", line 103, in 
run_buildstats(e=<bb.build.TaskFailed object at 0x1575ca90>)
   File "buildstats.bbclass", line 5, in 
write_task_data(status='failed', 
logfile='/home/mike/zynq/build/tmp-eglibc/buildstats/my-image-zynq-zc702/201305171106/fpga-image-1-r0/do_package_write_ipk', 
dev='sda5', e=<bb.build.TaskFailed object at 0x1575ca90>)
IOError: [Errno 2] No such file or directory: 
'/home/mike/zynq/build/tmp-eglibc/buildstats/my-image-zynq-zc702/201305171106/fpga-image-1-r0/do_package_write_ipk'

ERROR: Logfile of failure stored in: 
/home/mike/zynq/build/tmp-eglibc/work/zynq-zc702-oe-linux-gnueabi/fpga-image/2.AUTOINC-8095d780aab8d110298d655852f8f31053f5f124-r0/temp/log.do_package_write_ipk.5262
ERROR: Task 335 
(/home/mike/zynq/meta-zynq/recipes-bsp/fpga/fpga-image.bb, 
do_package_write_ipk) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1836 tasks of which 1799 didn't need to 
be rerun and 1 failed.
No currently running tasks (1836 of 1840)

Summary: 1 task failed:
   /home/mike/zynq/meta-zynq/recipes-bsp/fpga/fpga-image.bb, 
do_package_write_ipk
Summary: There were 26 ERROR messages shown, returning a non-zero exit code.

-------------- next part --------------
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
# Package is machine specific
PACKAGE_ARCH = "${MACHINE}"

# Workaround: XPS fails to build when there's a "+" in the path.
SRCPV_NOPLUS = "${@d.getVar('SRCPV',True).replace('+','-')}"

S="${WORKDIR}/git"

BOARD_DESIGN_URI ?= ""

BOARD_DESIGN_URI_zedboard = "git://github.com/milosoftware/zynq-zedboard-logic.git"
SRCREV_board-zedboard = "63e317164357bf87bba7dd0adc429d4c91a78cff"

BOARD_DESIGN_URI_zynq-zc702 = "git://github.com/milosoftware/zynq-zc702-logic.git"
SRCREV_board-zynq-zc702 = "8095d780aab8d110298d655852f8f31053f5f124"

SRC_URI = "\
	${BOARD_DESIGN_URI};name=board-${MACHINE} \
	http://wiki.analog.com/_media/resources/fpga/xilinx/kc705/cf_adv7511_zed_edk_14_4_2013_02_05.tar.gz;name=vhdl \
	"

SRC_URI[vhdl.md5sum] = "7bfa99f576e0f4a40d6fc30c2e111470"
SRC_URI[vhdl.sha256sum] = "4dea2dc0c32da8556c88e299350964816b67593d23eb590fb62393ce62229f09"
-------------- next part --------------
DESCRIPTION = "FPGA bit image loader from userspace and tools"
DEPENDS = "python-native"

require fpga-design.inc

PV = "2.${SRCPV_NOPLUS}"
PR = "r0"

PACKAGES = "${PN}"

S="${WORKDIR}/git"

SRC_URI += "\
	file://fpga-bit-to-bin.py \
	file://init \
	"

inherit update-rc.d

# Set to start at 03, which is before modutils
# so you can autoload modules which use FPGA logic.
INITSCRIPT_NAME = "${PN}.sh"
INITSCRIPT_PARAMS = "start 03 S ."

do_compile() {
	export LM_LICENSE_FILE="${XILINX_LM_LICENSE_FILE}"
	source ${XILINX_TOOL_PATH}/ISE_DS/settings${XILINX_TOOL_ARCH}.sh
	xps -nw system.xmp << EOF
run bits
run exporttosdk
EOF
	python ${WORKDIR}/fpga-bit-to-bin.py --flip ${S}/implementation/system.bit ${WORKDIR}/fpga.bin
}

FILES_${PN} = "${sysconfdir} ${datadir}"
do_install() {
	install -d ${D}${sysconfdir}
	install -d ${D}${sysconfdir}/init.d
	install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/${PN}.sh
	install -d ${D}${datadir}
	install -m 644 ${WORKDIR}/fpga.bin ${D}${datadir}/fpga.bin
}

# Store the SDK files into the sysroot for other packages
SYSROOT_PREPROCESS_FUNCS += "fpga_sysroot_preprocess"
fpga_sysroot_preprocess() {
	install -d ${SYSROOT_DESTDIR}${datadir}/xilinx_sdk
	cp -r ${S}/SDK/SDK_Export/hw/* ${SYSROOT_DESTDIR}${datadir}/xilinx_sdk/
}


More information about the Openembedded-core mailing list