cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
peanut
Observer
Observer
616 Views
Registered: ‎11-30-2018

makefile:87: recipe for target 'src/xf_corner_tracker_tb.o' failed

When I was running the example CornerTracker of Vitis-Library L3, the software simulation showed the following problem. How to solve it? thank you !!

Screenshot from 2020-08-04 17-32-22.png

/home/l/vitis2020.1/Vitis_Libraries-master/vision/L1/include/common/xf_structs.hpp:778:44: error: 'xf::cv::Mat<3, 1080, 1920, 1>::DATATYPE' {aka 'struct ap_uint<32>'} has no member named 'chnl'
778 | data[r * packcols + c].chnl[p][ch] = in_val;

0 Kudos
4 Replies
nutang
Moderator
Moderator
547 Views
Registered: ‎08-20-2018

Hi @peanut 

Please mention the platform details and the link you are referring to

Best Regards,
Nutan
-------------------------------------------------------------------------------
Please don't forget to reply, kudo and accept as a solution
0 Kudos
467 Views
Registered: ‎08-21-2020

Hi @nutang 

Im working with Vitis Vision Library on Vitis HLS , windows platform.I have got the same error .Below is the link of library i am using.

https://github.com/Xilinx/Vitis_Libraries/tree/master/vision/L1

Is there any solution ?

Thanks in advance.

 

 

0 Kudos
Aaditya_0123
Newbie
Newbie
430 Views
Registered: ‎10-06-2020

I'm facing the same error too.

Any solution to this?

0 Kudos
scampbell
Moderator
Moderator
412 Views
Registered: ‎10-04-2011

Hello all,

The code section that is triggering this error is the CopyTo function of the MAT class. Specifically, the following code section of the xf_structs.hpp as indicated in the error:

#ifdef __SDSVHLS__
data[r * packcols + c].range((p * pixdepth) + (ch + 1) * bitdepth - 1,
(p * pixdepth) + ch * bitdepth) = in_val;
#else
data[r * packcols + c].chnl[p][ch] = in_val;
#endif

They key to this section of code being triggered is that the __SDSVHLS__ variable has not been set. This variable must be set when using the HLS tool compiler. To set in Vitis, use the following option:

 __SDSVHLS__ .jpg

For the L1 flow as others have mentioned, it should be part of the CFLAGS arguments for the files. Here is an example from the L1 remap example:
add_files "${XF_PROJ_ROOT}/L1/examples/remap/xf_remap_accel.cpp" -cflags "-I${XF_PROJ_ROOT}/L1/include -I ${XF_PROJ_ROOT}/L1/examples/remap/build -I ./ -D__SDSVHLS__ -std=c++0x" -csimflags "-I${XF_PROJ_ROOT}/L1/include -I ${XF_PROJ_ROOT}/L1/examples/remap/build -I ./ -D__SDSVHLS__ -std=c++0x"

These CFLAGS are set automatically by the makefile provided in the L1 directory. 

OK, I hope this helps,
Scott