<font size=2 face="sans-serif">Hi all,</font>
<br>
<br><font size=2 face="sans-serif">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: </font><a href="https://github.com/Xilinx/meta-xilinx/blob/master/recipes-bsp/device-tree/device-tree.bb"><font size=2 color=blue face="sans-serif">https://github.com/Xilinx/meta-xilinx/blob/master/recipes-bsp/device-tree/device-tree.bb</font></a>
<br>
<br><font size=2 face="sans-serif">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:</font>
<br>
<br><font size=2 face="sans-serif">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)</font>
<br><font size=2 face="sans-serif">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</font>
<br><font size=2 face="sans-serif">Log data follows:</font>
<br><font size=2 face="sans-serif">| DEBUG: Executing shell function do_compile</font>
<br><font size=2 face="sans-serif">| /work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0</font>
<br><font size=2 face="sans-serif">| 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</font>
<br><font size=2 face="sans-serif">| gcc: warning: ‘-x assembler-with-cpp’
after last input file has no effect</font>
<br><font size=2 face="sans-serif">| gcc: fatal error: no input files</font>
<br><font size=2 face="sans-serif">| compilation terminated.</font>
<br><font size=2 face="sans-serif">| 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}'</font>
<br><font size=2 face="sans-serif">| 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)</font>
<br><font size=2 face="sans-serif">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'</font>
<br><font size=2 face="sans-serif">NOTE: Tasks Summary: Attempted 534 tasks
of which 464 didn't need to be rerun and 1 failed.</font>
<br>
<br><font size=2 face="sans-serif">Summary: 1 task failed:</font>
<br><font size=2 face="sans-serif">  /work/MPSoC/yocto_2017.2/sources/core/../meta-xilinx/recipes-bsp/device-tree/device-tree.bb:do_compile</font>
<br><font size=2 face="sans-serif">Summary: There were 5 WARNING messages
shown.</font>
<br><font size=2 face="sans-serif">Summary: There was 1 ERROR message shown,
returning a non-zero exit code.</font>
<br>
<br><font size=2 face="sans-serif">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 --</font>
<br>
<br><font size=2 face="sans-serif">/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102-zynqmp/kernel-source$
ls</font>
<br><font size=2 face="sans-serif">arch   COPYING  Documentation
 fs       ipc      kernel    
  Makefile  README          scripts
  tools</font>
<br><font size=2 face="sans-serif">block  CREDITS  drivers  
     include  Kbuild   lib      
   mm        REPORTING-BUGS  security
 usr</font>
<br><font size=2 face="sans-serif">certs  crypto   firmware  
    init     Kconfig  MAINTAINERS  net  
    samples         sound     virt</font>
<br>
<br><font size=2 face="sans-serif">Additionally, the device-tree recipe
loops over any *.dts files in the ${S} directory, which is mapped to ${WORKDIR}
in this recipe (</font><a href="https://github.com/Xilinx/meta-xilinx/blob/master/recipes-bsp/device-tree/device-tree.bb#L51"><font size=2 color=blue face="sans-serif">https://github.com/Xilinx/meta-xilinx/blob/master/recipes-bsp/device-tree/device-tree.bb#L51</font></a><font size=2 face="sans-serif">).
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.</font>
<br>
<br><font size=2 face="sans-serif">I'm guessing I'm missing something small/simple
here. Can anyone provide any guidance?</font>
<br>
<br><font size=2 face="sans-serif">Thanks,</font>
<br><font size=2 face="sans-serif">Holden </font>
<br>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)
  ­­