Xilinx / meta-xilinx-tools

Yocto Project layer enables AMD Xilinx tools related metadata for MicroBlaze, Zynq, ZynqMP and Versal devices.
MIT License
53 stars 51 forks source link

Issues importing HDF for petalinux-image-minimal #7

Closed kgaijin closed 6 years ago

kgaijin commented 6 years ago

Hi,

I'm also getting an error with external HDF but it's different than the previous issue. I get the following output:

bitbake petalinux-image-minimal
WARNING: Host distribution "linuxmint-18.1" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |##################################################################################################| Time: 0:00:01
Loaded 3432 entries from dependency cache.
Parsing recipes: 100% |################################################################################################| Time: 0:00:02
Parsing of 2541 .bb files complete (2538 cached, 3 parsed). 3433 targets, 135 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION           = "1.36.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "aarch64-xilinx-linux"
MACHINE              = "zcu102-zynqmp"
DISTRO               = "petalinux"
DISTRO_VERSION       = "2018.1"
TUNE_FEATURES        = "aarch64"
TARGET_FPU           = ""
meta                 
meta-poky            = "rel-v2018.1:f46336354fcb02234ed246b64c4cf916d1019e7d"
meta-perl            
meta-python          
meta-filesystems     
meta-gnome           
meta-multimedia      
meta-networking      
meta-webserver       
meta-xfce            
meta-initramfs       
meta-oe              = "rel-v2018.1:a65c1acb1822966c3553de9fc98d8bb6be705c4e"
meta-browser         = "rel-v2018.1:c5ff301787ef76eec57ca500ec9d1ccf0f74b488"
meta-qt5             = "rel-v2018.1:db881bb4917628ad3eb1fa7c4f27915cf2ae60f4"
meta-xilinx-bsp      
meta-xilinx-contrib  = "rel-v2018.1:e7a6531bd8fc9ce5797be082c8478a2701c3766a"
meta-xilinx-tools    = "rel-v2018.1:93d6b87bdc451ee81d6d716809e0d7e9bc3b7021"
meta-petalinux       = "rel-v2018.1:4e84d60865bf505d1ea425f3e5c84e37bf8f7455"
meta-virtualization  = "rel-v2018.1:c618f3030c00044887ae2bca01ff8d4c609a9362"
meta-openamp         = "rel-v2018.1:efae46ec290d8c49940fa0c0a07bc26055399a95"

Initialising tasks: 100% |#############################################################################################| Time: 0:00:05
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: external-hdf-1.0-r0 do_deploy: Function failed: do_deploy (log file is located at /home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/temp/log.do_deploy.9535)
ERROR: Logfile of failure stored in: /home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/temp/log.do_deploy.9535
Log data follows:
| DEBUG: Executing python function sstate_task_prefunc
| DEBUG: Removing manifest: /home/mydir/xilinx/build/tmp/deploy/images/zcu102-zynqmp/Xilinx-zcu102-zynqmp.hdf
| DEBUG: Python function sstate_task_prefunc finished
| DEBUG: Executing shell function do_deploy
| install: cannot stat '/home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/zcu102_top.hdf': No such file or directory
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_deploy (log file is located at /home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/temp/log.do_deploy.9535)
ERROR: Task (/home/mydir/xilinx/sources/core/../meta-xilinx-tools/recipes-bsp/hdf/external-hdf.bb:do_deploy) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2103 tasks of which 2102 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory

Summary: 1 task failed:
  /home/mydir/xilinx/sources/core/../meta-xilinx-tools/recipes-bsp/hdf/external-hdf.bb:do_deploy
Summary: There was 1 WARNING message shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

My local.conf has:

# This sets the default machine if no other machine is selected:
MACHINE = "zcu102-zynqmp"

#Provide the hdf base, path, and filename for HDF
HDF_BASE = "file://"
HDF_PATH = "/home/mydir/boards/ZCU102/zcu102_top/zcu102_top.sdk"
HDF_FILE = "zcu102_top.hdf"

EXTRA_IMAGEDEPENDS += " fsbl pmu-firmware"

The hdf file is exactly where it's located per the HDF_PATH/HDF_FILE. Just like the other person who had the issue with FSBL, if I change line 31 to ${HDF_PATH}/${HDF_FILE}, everything works. It's not clear to me how a simple definition of SRC_URI will copy the file to the working directory.

Thanks

mharth commented 6 years ago

http://www.wiki.xilinx.com/Using%20meta-xilinx-tools%20layer HDF_BASE = "file://" HDF_PATH = "" // ex: HDF_PATH = "/home/user/system.hdf"

meaning HDF_BASE = "file://" HDF_PATH = "/home/mydir/boards/ZCU102/zcu102_top/zcu102_top.sdk/zcu102_top.hdf"

Also see how the code is written at: https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/hdf/external-hdf.bb#L25-L28

kgaijin commented 6 years ago

Well...

#Provide the hdf base, path, and filename for HDF
HDF_BASE = "file://"
HDF_PATH = "/home/mydir/boards/ZCU102/zcu102_top/zcu102_top.sdk/zcu102_top.hdf"

ERROR: external-hdf-1.0-r0 do_deploy: Function failed: do_deploy (log file is located at /home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/temp/log.do_deploy.10485)
ERROR: Logfile of failure stored in: /home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/temp/log.do_deploy.10485
Log data follows:
| DEBUG: Executing python function sstate_task_prefunc
| DEBUG: Python function sstate_task_prefunc finished
| DEBUG: Executing shell function do_deploy
| install: omitting directory '/home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/'
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_deploy (log file is located at /home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/temp/log.do_deploy.10485)
ERROR: Task (/home/mydir/xilinx/sources/core/../meta-xilinx-tools/recipes-bsp/hdf/external-hdf.bb:do_deploy) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2073 tasks of which 2072 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory

Summary: 1 task failed:
  /home/mydir/xilinx/sources/core/../meta-xilinx-tools/recipes-bsp/hdf/external-hdf.bb:do_deploy
Summary: There was 1 WARNING message shown.
mharth commented 6 years ago

This works for us consistently without failures. 1) Check your /home/mydir/xilinx/build/tmp/work/zcu102_zynqmp-xilinx-linux/external-hdf/1.0-r0/ and see if zcu102_top.hdf if available from here (use find command) 2) do a cleansstate on external-hdf and retry 3) use verbose mode in install to see why it is failing to copy the HDF you are providing