Hi Peter, I'm glad I'm not the only one who has run into this issue. I am considering reverting a couple of patches to move back to having the recipe directly point out the dts in the kernel sources instead of relying on the kernel's do_shared_workdir task. I haven't tried building everything with just meta-xilinx, but I did quickly try to remove meta-xilinx-tools from my bblayers and build the device-tree recipe, resulting in this error --
ERROR: ParseError at /work/MPSoC/customization/meta-ultra/recipes-bsp/bootbin/xilinx-bootbin.bb:7: Could not inherit file classes/xsct-tc.bbclass For the moment I'll probably either revert the relevant commits as I mentioned or duplicate the device tree sources into my local/custom meta-layer as you mention. I would definitely like to know how to resolve this issue though as intended for my own education on the xilinx recipes and yocto build system. Thanks, Holden From: Peter Smith <[email protected]> To: [email protected] Cc: [email protected] Date: 10/05/2017 03:30 AM Subject: Re: [meta-xilinx] meta-xilinx device-tree recipe on master / yocto pyro I had the exact same problem yesterday. I have yet to look into it, but what you are suggesting seems to be the case for me too. Out of interest have you tried building the zcu102-zynqmp machine with just the meta-xilinx (and poky) layers to see if that works as expected? In my case. I have a layer on top of these two where I have a customised .dts file and I define KERNEL_DEVICETREE in a recipes-kernel/linux linux-xlnx_%.bbappend file. To get around the problem I temporarily duplicated by device tree file. Best Regards Peter On 4 October 2017 at 22:34, <[email protected]> wrote: Hi all, I'm hoping this is a quick and easy issue someone already knows the answer to. I'm working with a ZCU102, using meta-petalinux, meta-xilinx, meta-xilinx-tools and bitbake/poky 1.34.0 -- both meta-xilinx and meta-xilinx-tools on the master branch and am having an issue with the meta-xilinx device-tree recipe. Just for quick and easy reference, the device-tree recipe is here: https://github.com/Xilinx/meta-xilinx/blob/master/recipes-bsp/device-tree/device-tree.bb The issue that I'm running into is that when I run "bitbake device-tree" I get an error that there are no dts files in the device-tree/1.0-r0 directory. Full error shown below: ERROR: device-tree-1.0-r0 do_compile: Function failed: do_compile (log file is located at /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0/temp/log.do_compile.15884) ERROR: Logfile of failure stored in: /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0/temp/log.do_compile.15884 Log data follows: | DEBUG: Executing shell function do_compile | /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0 | gcc: error: /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0/*.dts: No such file or directory | gcc: warning: ‘-x assembler-with-cpp’ after last input file has no effect | gcc: fatal error: no input files | compilation terminated. | WARNING: /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0/temp/run.do_compile.15884:1 exit 4 from 'gcc -E -nostdinc -Ulinux -x assembler-with-cpp -I/work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0 -I/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102-zynqmp/kernel-source/arch/arm64/boot/dts -I/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102-zynqmp/kernel-source/arch/arm64/boot/dts/include -I/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102-zynqmp/kernel-source/arch/arm64/boot/dts/xilinx -o `basename ${DTS_FILE}`.pp ${DTS_FILE}' | ERROR: Function failed: do_compile (log file is located at /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0/temp/log.do_compile.15884) ERROR: Task (/work/MPSoC/yocto_2017.2/sources/core/../meta-xilinx/recipes-bsp/device-tree/device-tree.bb:do_compile) failed with exit code '1' NOTE: Tasks Summary: Attempted 534 tasks of which 464 didn't need to be rerun and 1 failed. Summary: 1 task failed: /work/MPSoC/yocto_2017.2/sources/core/../meta-xilinx/recipes-bsp/device-tree/device-tree.bb:do_compile Summary: There were 5 WARNING messages shown. Summary: There was 1 ERROR message shown, returning a non-zero exit code. After reviewing the history on this recipe, it appears the recipe was restructured months ago to "Improve, clean up and remove MACHINE_DEVICETREE". Based on this commit, it appears the intent was to use the dts/dtsi files within the kernel sources as a base for generating a device tree. There was a line added to ensure that "virtual/kernel:do_shared_workdir" is run prior to the device-tree recipe. My assumption is that the kernel recipe do_shared_workdir task is supposed to copy the selected machine's dts files into the shared workdir so they can be used by this device-tree recipe. However, this does not seem to happen in my case -- /work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102-zynqmp/kernel-source$ ls arch COPYING Documentation fs ipc kernel Makefile README scripts tools block CREDITS drivers include Kbuild lib mm REPORTING-BUGS security usr certs crypto firmware init Kconfig MAINTAINERS net samples sound virt Additionally, the device-tree recipe loops over any *.dts files in the ${S} directory, which is mapped to ${WORKDIR} in this recipe ( https://github.com/Xilinx/meta-xilinx/blob/master/recipes-bsp/device-tree/device-tree.bb#L51 ). This loop will effectively do an ls in the build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0 directory to check for any *.dts files. This directory definitely does not contain any dts files. I'm guessing I'm missing something small/simple here. Can anyone provide any guidance? Thanks, Holden NOTICE: The contents of this document are proprietary to Ultra Electronics Flightline Systems and the noted recipient/s and shall not be disclosed, disseminated, copied, in whole or in part or used except for the purposes expressly authorized in writing by Ultra Electronics Flightline Systems. This document may contain technical data, which may be restricted for export under the International Traffic in Arms Regulations (ITAR) or the Export Administration Regulations (EAR). Violations of these export laws may be subject to fines and penalties under the Arms Export Control Act (22 U.S.C. 2778) -- _______________________________________________ meta-xilinx mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-xilinx
-- _______________________________________________ meta-xilinx mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-xilinx
