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

Yocto build error `package require hsi FAILED` #19

Closed dtrussel closed 4 years ago

dtrussel commented 4 years ago

I tried to do a fresh yocto build but got this error message:

ERROR: device-tree-xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0 do_configure: Function failed: do_configure (log file is located at /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/temp/log.do_configure.2740)
ERROR: Logfile of failure stored in: /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/temp/log.do_configure.2740
Log data follows:
| DEBUG: Executing shell function do_configure
| MISC_ARG is  -hdf_type xsa -yamlconf /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/device-tree.yaml
| APP_ARG is  -app "device-tree"
| Using xsct from: /home/dave/yocto/poky/build/tmp/sysroots-xsct/Vitis/2019.2/bin/xsct
| cmd is: xsct -sdx -nodisp /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/dtgen.tcl -ws /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/build -pname device-tree -rp /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/git -processor psu_cortexa53_0 -hdf /home/dave/yocto/poky/build/tmp/deploy/images/avg-mcb/Xilinx-avg-mcb.xsa -arch 64  -app "device-tree"  -hdf_type xsa -yamlconf /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/device-tree.yaml
| package require hsi FAILED:
| invalid command name "hsi::create_dt_node"
|     while executing
| "hsi::create_dt_node -help"
|     (in namespace eval "::hsi::help" script line 6)
|     invoked from within
| "namespace eval ::hsi::help {
|     variable version 0.1
| 
|     ::xsdb::setcmdmeta {hsi create_dt_node} categories {hsi}
|     ::xsdb::setcmdmeta {hsi create..."
|     (file "/home/dave/yocto/poky/build/tmp/sysroots-xsct/Vitis/2019.2/scripts/xsct/hsi/hsihelp.tcl" line 25)
|     invoked from within
| "source /home/dave/yocto/poky/build/tmp/sysroots-xsct/Vitis/2019.2/scripts/xsct/hsi/hsihelp.tcl"
|     ("package ifneeded hsi::help 0.1" script)WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/dave/yocto/poky/build/tmp/work/avg_mcb-poky-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/temp/log.do_configure.2740)
ERROR: Task (/home/dave/yocto/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb:do_configure) failed with exit code '1'

I had the same build running on another machine without problem. Is there some requirements about host tools / libraries which i need to have installed?

ghost commented 4 years ago

Depending on the host distro, one has to install libtinfo5 .

See https://lists.yoctoproject.org/g/meta-xilinx/message/4639 https://lists.yoctoproject.org/g/meta-xilinx/message/4674

ghost commented 4 years ago

This library might be chrooted into sysroots-xsct/Scout/2019.1/, as libedit, which is also chrooted, needs it.

dtrussel commented 4 years ago

Thanks a lot for the help. Are the host dependencies of meta-xilinx-tools listed somewhere? Shouldn't yocto deal with the dependencies something like DEPENDS += "ncurses-terminfo-native" in the respective recipe. Or since you are probably not building the xilinx tools within yocto, should this library not come as part of the binaries you distribute?

ghost commented 4 years ago

See the entry "HOSTTOOLS" in conf/layer.conf. This is the only place I know that validates the hosts for a given layer. In my opinion, this library should have been chrooted like other ones into the xsct tarball.

BTW, this has nothing to do with yocto, it 's a xilinx toolset issue.

dtrussel commented 4 years ago

See the entry "HOSTTOOLS" in conf/layer.conf.

HOSTTOOLS += "ps" How is this related to libtinfo5 missing?

This is the only place I know that validates the hosts for a given layer.

One could also use DEPENDS on native packages.

In my opinion, this library should have been chrooted like other ones into the xsct tarball.

Probably this 😄

BTW, this has nothing to do with yocto, it 's a xilinx toolset issue.

Yes, sorry I meant bitbake, not yocto.