UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
2,989 Views
Registered: ‎04-18-2017

Linker error with xfOpenCV and re-VISION stack

Jump to solution

Hello,

 

I need to have some functions from xfopencv on hardware. I just need to run estimate when moved to HW. Therefore, I have the getting started files (zcu102_rv_ss) downloaded and copied to /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss.

 

Before launching SDSoC I export SYSROOT:

 

export SYSROOT=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot

Then I execute SDSoC:

 

 

/opt/Xilinx/SDSoC/SDx/2017.4/bin/./sdx

And choose the workspace that I regularly use. Next I create a new application project and the zcu102 as platform.

 

 

Then I add the paths as UG1233, page17 suggests (as I will later use a non-reVISION platform) and made the changes so they looks like this:

 

  • SDS++ Compiler → Directories:
    • "/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/include"
    • "../src"
    • "/home/ariel/.Xilinx/SDx/2017.4/xfopencv/include"
  • SDS++ Linker → Libraries (-l)
    • opencv_core  (Only one to test)
  • SDS++ Linker → Libraries(-L)
    • "/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib"

In src I import code that is working and I can estimate its performance. Therefore, I build the project and I get the following errors:

 

Link application ELF file
/opt/Xilinx/SDSoC/SDK/2017.4/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/../../../../aarch64-linux-gnu/bin/ld: cannot find /lib/libpthread.so.0
/opt/Xilinx/SDSoC/SDK/2017.4/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/../../../../aarch64-linux-gnu/bin/ld: cannot find /usr/lib/libpthread_nonshared.a
collect2: error: ld returned 1 exit status
ERROR: [SdsCompiler 83-5019] Exiting sds++ : Error when calling 'aarch64-linux-gnu-g++   /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/sw_perf_est.o  /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/main.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.o -L/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib -lopencv_core   -L /opt/Xilinx/SDSoC/SDx/2017.4/target/aarch64-linux/lib -L/home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs -Wl,--start-group  -Wl,--end-group -Wl,--start-group    -lpthread -lsds_lib -lxlnk_stub  -Wl,--end-group -o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/TULIPP_library_eval.elf'
sds++ log file saved as /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/reports/sds.log
ERROR: [SdsCompiler 83-5004] Build failed

makefile:45: recipe for target 'TULIPP_library_eval.elf' failed
make: *** [TULIPP_library_eval.elf] Error 1

Could it be that the path for /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss is too long? Have I missed some step?

Just to be sure, I launched the shell from SDSoC and entered echo $SYSROOT and it showed the proper path.

 

Thanks for the help.

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
3,454 Views
Registered: ‎05-25-2018

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@aripod

There is no need to change anything in the Makefile except the PLATFORM variable if you are using the GitHub repo, as is.

The Makefile was written in accordance with the GitHub folder structure of xfOpenCV. Hence the path 

-files ../../include/core/xf_arithm.hpp

 If you are not using the GitHub folder structure, you have to update the path accordingly. So, in your case it would be:

-files /opt/Xilinx/SDSoC/SDx/2017.4/xfopencv/include/core/xf_arithm.hpp

Also, please note that the Makefile for 2018.2 and 2017.4 is different (few flags). 

23 Replies
Adventurer
Adventurer
2,955 Views
Registered: ‎04-24-2012

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

Hi @aripod,

Could you please attach your log?

/home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/reports/sds.log

 Thanks.

/* Don't forget to give kudos and/or accept as a solution */
0 Kudos
Observer anjali@8
Observer
2,928 Views
Registered: ‎05-04-2018

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

Hi,

I also got the same error few days back and I rectified it like this. Might even work for you.

 

$ sudo vim /<zcu104-installation-path>/sw/sysroot/usr/lib/libpthread.so

Press i for editing the library file.

 

Replace this line “Group ( /lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a )” with “Group ( libpthread.so.0 libpthread_nonshared.a )”

0 Kudos
Xilinx Employee
Xilinx Employee
2,913 Views
Registered: ‎05-25-2018

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@aripod:

If you are building for a non-reVISION platform and If you don't have your own compiled openCV libs and wish to use the one available in the reVISION platform, you need to add "--sysroot=<path-to-sysroot-folder>" , "<path-to-sysroot>/lib"  and "<path-to-sysroot>/usr/lib" in the library search path (-L).

Explorer
Explorer
2,903 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@diego73,

 

Here is the log file:

 

(c) Copyright 2012-2017 Xilinx, Inc. All Rights Reserved.
#-----------------------------------------------------------
# Tool version  : sds++ 2017.4 SW Build 2086221 on Fri Dec 15 20:55:10 MST 2017
# Start time    : Thu Jun 28 16:51:33 CEST 2018
# Command line  : sds++ -L/lib -L/usr/lib -L/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib --sysroot=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot -Wl,-rpath-link=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/lib,-rpath-link=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib -sdcard ../src/data --remote_ip_cache /home/ariel/Documents/sdsoc_prjts/ip_cache -o TULIPP_library_eval.elf ./src/main.o -lvideo -lopencv_videoio -lglib-2.0 -ldrm -lv4l2subdev -lmediactl -lopencv_imgcodecs -llzma -ltiff -lpng16 -lz -ljpeg -lopencv_imgproc -ldl -lrt -lwebp -lopencv_features2d -lopencv_flann -lopencv_core -dmclkid 1 -mno-bitstream -mno-boot-files -perf-root main -perf-est swdata.xml -perf-funcs hwTestAnd -sds-sys-config a53_linux -sds-proc a53_linux -sds-pf zcu102
# Log file      : /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/reports/sds.log
# Journal file  : /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/reports/sds.jou
# Report file   : /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/reports/sds.rpt
#-----------------------------------------------------------

Libraries: video opencv_videoio glib-2.0 drm v4l2subdev mediactl opencv_imgcodecs lzma tiff png16 z jpeg opencv_imgproc dl rt webp opencv_features2d opencv_flann opencv_core
Library Paths /lib /usr/lib /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib {}
Searching for static library libvideo.a
Searching for static library libopencv_videoio.a
Searching for static library libglib-2.0.a
Searching for static library libdrm.a
Searching for static library libv4l2subdev.a
Searching for static library libmediactl.a
Searching for static library libopencv_imgcodecs.a
Searching for static library liblzma.a
Searching for static library libtiff.a
Searching for static library libpng16.a
Searching for static library libz.a
Library libz.a found in /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib/libz.a
aarch64-linux-gnu-ar t /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib/libz.a
Library objects: adler32.o
crc32.o
deflate.o
infback.o
inffast.o
inflate.o
inftrees.o
trees.o
zutil.o
compress.o
uncompr.o
gzclose.o
gzlib.o
gzread.o
gzwrite.o
aarch64-linux-gnu-ar xov /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib/libz.a
x - adler32.o
x - crc32.o
x - deflate.o
x - infback.o
x - inffast.o
x - inflate.o
x - inftrees.o
x - trees.o
x - zutil.o
x - compress.o
x - uncompr.o
x - gzclose.o
x - gzlib.o
x - gzread.o
x - gzwrite.o
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/adler32.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/adler32.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/crc32.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/crc32.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/deflate.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/deflate.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/infback.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/infback.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/inffast.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/inffast.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/inflate.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/inflate.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/inftrees.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/inftrees.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/trees.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/trees.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/zutil.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/zutil.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/compress.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/compress.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/uncompr.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/uncompr.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/gzclose.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/gzclose.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/gzlib.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/gzlib.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/gzread.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/gzread.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/gzwrite.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/z/gzwrite.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
Searching for static library libjpeg.a
Searching for static library libopencv_imgproc.a
Searching for static library libdl.a
Library libdl.a found in /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib/libdl.a
aarch64-linux-gnu-ar t /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib/libdl.a
Library objects: dlopen.o
dlclose.o
dlsym.o
dlvsym.o
dlerror.o
dladdr.o
dladdr1.o
dlinfo.o
dlmopen.o
aarch64-linux-gnu-ar xov /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib/libdl.a
x - dlopen.o
x - dlclose.o
x - dlsym.o
x - dlvsym.o
x - dlerror.o
x - dladdr.o
x - dladdr1.o
x - dlinfo.o
x - dlmopen.o
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlopen.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlopen.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlclose.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlclose.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlsym.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlsym.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlvsym.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlvsym.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlerror.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlerror.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dladdr.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dladdr.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dladdr1.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dladdr1.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlinfo.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlinfo.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlmopen.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/dl/dlmopen.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
Searching for static library librt.a
Library librt.a found in /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib/librt.a
aarch64-linux-gnu-ar t /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib/librt.a
Library objects: aio_cancel.o
aio_error.o
aio_fsync.o
aio_misc.o
aio_read.o
aio_read64.o
aio_return.o
aio_suspend.o
aio_write.o
aio_write64.o
lio_listio.o
lio_listio64.o
aio_sigqueue.o
aio_notify.o
timer_create.o
timer_delete.o
timer_getoverr.o
timer_gettime.o
timer_settime.o
shm_open.o
shm_unlink.o
mq_open.o
mq_close.o
mq_unlink.o
mq_getattr.o
mq_setattr.o
mq_notify.o
mq_send.o
mq_receive.o
mq_timedsend.o
mq_timedreceive.o
clock-compat.o
timer_routines.o
librt-cancellation.o
aarch64-linux-gnu-ar xov /opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib/librt.a
x - aio_cancel.o
x - aio_error.o
x - aio_fsync.o
x - aio_misc.o
x - aio_read.o
x - aio_read64.o
x - aio_return.o
x - aio_suspend.o
x - aio_write.o
x - aio_write64.o
x - lio_listio.o
x - lio_listio64.o
x - aio_sigqueue.o
x - aio_notify.o
x - timer_create.o
x - timer_delete.o
x - timer_getoverr.o
x - timer_gettime.o
x - timer_settime.o
x - shm_open.o
x - shm_unlink.o
x - mq_open.o
x - mq_close.o
x - mq_unlink.o
x - mq_getattr.o
x - mq_setattr.o
x - mq_notify.o
x - mq_send.o
x - mq_receive.o
x - mq_timedsend.o
x - mq_timedreceive.o
x - clock-compat.o
x - timer_routines.o
x - librt-cancellation.o
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_cancel.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_cancel.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_error.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_error.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_fsync.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_fsync.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_misc.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_misc.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_read.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_read.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_read64.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_read64.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_return.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_return.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_suspend.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_suspend.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_write.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_write.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_write64.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_write64.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/lio_listio.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/lio_listio.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/lio_listio64.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/lio_listio64.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_sigqueue.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_sigqueue.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_notify.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/aio_notify.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_create.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_create.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_delete.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_delete.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_getoverr.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_getoverr.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_gettime.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_gettime.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_settime.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_settime.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/shm_open.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/shm_open.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/shm_unlink.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/shm_unlink.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_open.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_open.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_close.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_close.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_unlink.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_unlink.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_getattr.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_getattr.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_setattr.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_setattr.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_notify.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_notify.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_send.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_send.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_receive.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_receive.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_timedsend.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_timedsend.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_timedreceive.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/mq_timedreceive.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/clock-compat.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/clock-compat.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_routines.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/timer_routines.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/librt-cancellation.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.libs/rt/librt-cancellation.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
Searching for static library libwebp.a
Searching for static library libopencv_features2d.a
Searching for static library libopencv_flann.a
Searching for static library libopencv_core.a
Analyzing object files
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xdinfo=alloc --only-section=.xdinfo /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/main.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xdinfo.xml
aarch64-linux-gnu-objcopy -O binary --set-section-flags .xddata=alloc --only-section=.xddata /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/main.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.data/xddata.xml
/opt/Xilinx/SDSoC/SDx/2017.4/bin/build_xd_ip_db  -sds-pf /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/.Xil/zcu102.hpfm    -o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/.cdb/xd_ip_db.xml  
INFO: Using user-defined path for XILINX_XD environment variable /opt/Xilinx/SDSoC/SDx/2017.4
Using prebuilt hardware
Skipping block diagram (BD), address map, port information and device registration for partition 0
Prepare hardware access API functions
Create accelerator stub functions
Compile hardware access API functions
aarch64-linux-gnu-gcc  -DPERF_EST     -I /opt/Xilinx/SDSoC/SDx/2017.4/target/aarch64-linux/include  -D HLS_NO_XIL_FPO_LIB  -I /opt/Xilinx/SDSoC/Vivado/2017.4/include -c  /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.c
/home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.c: In function ‘close_last_partition’:
/home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.c:75:5: warning: implicit declaration of function ‘apf_perf_estimation_exit’ [-Wimplicit-function-declaration]
     apf_perf_estimation_exit();
     ^~~~~~~~~~~~~~~~~~~~~~~~
aarch64-linux-gnu-g++      -I /opt/Xilinx/SDSoC/SDx/2017.4/target/aarch64-linux/include  -D HLS_NO_XIL_FPO_LIB  -I /opt/Xilinx/SDSoC/Vivado/2017.4/include -c  /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/cf_stub.c
aarch64-linux-gnu-gcc     -I /opt/Xilinx/SDSoC/SDx/2017.4/target/aarch64-linux/include  -D HLS_NO_XIL_FPO_LIB  -I /opt/Xilinx/SDSoC/Vivado/2017.4/include -c  /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/sw_perf_est.c -o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/sw_perf_est.o
aarch64-linux-gnu-ar crs /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/libxlnk_stub.a /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/cf_stub.o
Compile accelerator stub functions
aarch64-linux-gnu-ar crs /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/libTULIPP_library_eval.a /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/cf_stub.o 
Compile hardware access API functions
aarch64-linux-gnu-gcc  -DPERF_EST     -I /opt/Xilinx/SDSoC/SDx/2017.4/target/aarch64-linux/include  -D HLS_NO_XIL_FPO_LIB  -I /opt/Xilinx/SDSoC/Vivado/2017.4/include -c  /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.c
/home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.c: In function ‘close_last_partition’:
/home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.c:75:5: warning: implicit declaration of function ‘apf_perf_estimation_exit’ [-Wimplicit-function-declaration]
     apf_perf_estimation_exit();
     ^~~~~~~~~~~~~~~~~~~~~~~~
aarch64-linux-gnu-g++      -I /opt/Xilinx/SDSoC/SDx/2017.4/target/aarch64-linux/include  -D HLS_NO_XIL_FPO_LIB  -I /opt/Xilinx/SDSoC/Vivado/2017.4/include -c  /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/cf_stub.c
aarch64-linux-gnu-gcc     -I /opt/Xilinx/SDSoC/SDx/2017.4/target/aarch64-linux/include  -D HLS_NO_XIL_FPO_LIB  -I /opt/Xilinx/SDSoC/Vivado/2017.4/include -c  /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/sw_perf_est.c -o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/sw_perf_est.o
aarch64-linux-gnu-ar crs /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/libxlnk_stub.a /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/cf_stub.o
aarch64-linux-gnu-ar crs /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/libTULIPP_library_eval.a /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/cf_stub.o 
Link application ELF file
aarch64-linux-gnu-g++   /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/sw_perf_est.o  /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/main.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.o -L/lib -L/usr/lib -L/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib --sysroot=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot -Wl,-rpath-link=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/lib,-rpath-link=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib -lvideo -lopencv_videoio -lglib-2.0 -ldrm -lv4l2subdev -lmediactl -lopencv_imgcodecs -llzma -ltiff -lpng16 -lz -ljpeg -lopencv_imgproc -ldl -lrt -lwebp -lopencv_features2d -lopencv_flann -lopencv_core   -L /opt/Xilinx/SDSoC/SDx/2017.4/target/aarch64-linux/lib -L/home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs -Wl,--start-group  -Wl,--end-group -Wl,--start-group    -lpthread -lsds_lib -lxlnk_stub  -Wl,--end-group -o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/TULIPP_library_eval.elf
/opt/Xilinx/SDSoC/SDK/2017.4/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/../../../../aarch64-linux-gnu/bin/ld: cannot find -lvideo
collect2: error: ld returned 1 exit status
ERROR: [SdsCompiler 83-5019] Exiting sds++ : Error when calling 'aarch64-linux-gnu-g++   /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/sw_perf_est.o  /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/est/main.o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/portinfo.o -L/lib -L/usr/lib -L/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib --sysroot=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot -Wl,-rpath-link=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/lib,-rpath-link=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib -lvideo -lopencv_videoio -lglib-2.0 -ldrm -lv4l2subdev -lmediactl -lopencv_imgcodecs -llzma -ltiff -lpng16 -lz -ljpeg -lopencv_imgproc -ldl -lrt -lwebp -lopencv_features2d -lopencv_flann -lopencv_core   -L /opt/Xilinx/SDSoC/SDx/2017.4/target/aarch64-linux/lib -L/home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs -Wl,--start-group  -Wl,--end-group -Wl,--start-group    -lpthread -lsds_lib -lxlnk_stub  -Wl,--end-group -o /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/swstubs/TULIPP_library_eval.elf'
sds++ log file saved as /home/ariel/Documents/sdsoc_prjts/TULIPP_library_eval/Release/_sds/reports/sds.log
ERROR: [SdsCompiler 83-5004] Build failed
sds++ completed at Thu Jun 28 16:51:37 CEST 2018

Thanks for the help

0 Kudos
Adventurer
Adventurer
2,868 Views
Registered: ‎04-24-2012

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

Hi @aripod@gouthamb is right, you need to add the --sysroot libraries, because you are missing one in the path:

 

aarch64-linux-gnu/bin/ld: cannot find -lvideo
/* Don't forget to give kudos and/or accept as a solution */
Explorer
Explorer
2,816 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@gouthamb, @diego73,

 

I managed to build the arithm example from Xilinx with the zcu102 thanks to adding the suggestions to -L. But now when I want to move the function to HW, I get the following error:

 

ERROR: [DMAnalysis 83-4432] Interface type of port imgInput1_data_V_q0 of accelerator arithm_accel not supported!

The same was with the sobel example.

 

Thanks for the help.

0 Kudos
Xilinx Employee
Xilinx Employee
2,801 Views
Registered: ‎05-25-2018

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@aripod
"arithm_accel" or "sobel_accel" are wrapper functions. It is the functions that are being called in those wrapper functions, that need to be marked as hardware function. So, for sobel that would be "xf::sobel<...>(.. , .., );" that has to be marked for hardware.

0 Kudos
Explorer
Explorer
2,793 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@gouthamb,

 

I saw that it is a wrapper, and for what I understand is that I need it because the xf functions are based on template which cannot be directly moved to HW and here is where the wrapper comes in handy.

 

And from the list of functions to accelerate, I cannot see the xf:: functions but the wrappers.

Screenshot from 2018-07-02 13-15-02.png

 

Thanks for the help.

0 Kudos
Xilinx Employee
Xilinx Employee
2,786 Views
Registered: ‎05-25-2018

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@aripod
Template functions can be moved to hardware in 2017.4 SDx! See any Makefile from the xfOpenCV GitHub repo.
If you cannot see the template function in the list, you can go to the file xf_sobel.hpp from the includes in the project explorer pane, and toggle the function available there, under xf namespace, to hardware.

0 Kudos
Explorer
Explorer
2,790 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@gouthamb,

 

Did not know that.....I can do what you said, and now for the estimate I got this:

 

ERROR: [DMAnalysis 83-4499] Performance estimation for function template xf::multiply<0,2,1080,1920,1> is not supported!

Would then the wrapper help to estimate then? Or the HLS report. Is it generated even though the estimate is not supported?

 

Thanks!

 

EDIT: Not selecting estimate compiles, but there is no HL report nor I can open Vivado HLS as it says "No Vivado HLS projects found for the given Hardware function".

0 Kudos
Explorer
Explorer
2,758 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@gouthamb, @diego73,

 

I added to the example file the following lines:

 

	xf::Mat<XF_8UC1, HEIGHT, WIDTH, NPC1> imgIn1(HEIGHT,WIDTH);
	xf::Mat<XF_8UC1, HEIGHT, WIDTH, NPC1> imgIn2(HEIGHT,WIDTH);
	xf::Mat<XF_8UC1, HEIGHT, WIDTH, NPC1> imgOut(HEIGHT,WIDTH);
	bitwise_andHW(imgIn1, imgIn2, imgOut);

and this is the function to accelerate:

 

#pragma SDS data mem_attribute(imgIn1:PHYSICAL_CONTIGUOUS, imgIn2:PHYSICAL_CONTIGUOUS, imgOut:PHYSICAL_CONTIGUOUS)
#pragma SDS data copy(imgIn1[O:VECTOR_PIXELS], imgIn2[0:VECTOR_PIXELS], imgOut[0:VECTOR_PIXELS])
#pragma SDS data data_mover(imgIn1:AXIDMA_SIMPLE, imgIn2:AXIDMA_SIMPLE, imgOut:AXIDMA_SIMPLE)
#pragma SDS data access_pattern(imgIn1:SEQUENTIAL, imgIn2:SEQUENTIAL, imgOut:SEQUENTIAL)
void bitwise_andHW(xf::Mat<XF_8UC1, HEIGHT, WIDTH, NPC1> &imgIn1, xf::Mat<XF_8UC1, HEIGHT, WIDTH, NPC1> &imgIn2, xf::Mat<XF_8UC1, HEIGHT, WIDTH, NPC1> &imgOut)
{
	xf::bitwise_and(imgIn1, imgIn2, imgOut);
}

This builds when there is no function moved to HW. When I go to the includes and select to accelerate bitwise_and from the xf namespace then it also builds, but when I select estimate performance I get:

 

Link application ELF file
/home/ariel/Documents/sdsoc_prjts/xfopencv_test/Release/_sds/est/xf_arithm_tb.o: In function `main':
xf_arithm_tb.cpp:(.text.startup+0x664): undefined reference to `_sds_sw_main'
xf_arithm_tb.cpp:(.text.startup+0x668): undefined reference to `_sds_sw_main'
xf_arithm_tb.cpp:(.text.startup+0x670): undefined reference to `_sds_sw_main'
xf_arithm_tb.cpp:(.text.startup+0x680): undefined reference to `_sds_sw_main'
xf_arithm_tb.cpp:(.text.startup+0x7e4): undefined reference to `_sds_sw_main'
/home/ariel/Documents/sdsoc_prjts/xfopencv_test/Release/_sds/est/xf_arithm_tb.o:xf_arithm_tb.cpp:(.text.startup+0x7e8): more undefined references to `_sds_sw_main' follow
collect2: error: ld returned 1 exit status
ERROR: [SdsCompiler 83-5019] Exiting sds++ : Error when calling 'aarch64-linux-gnu-g++     /home/ariel/Documents/sdsoc_prjts/xfopencv_test/Release/_sds/est/xf_arithm_accel.o /home/ariel/Documents/sdsoc_prjts/xfopencv_test/Release/_sds/est/xf_arithm_tb.o /home/ariel/Documents/sdsoc_prjts/xfopencv_test/Release/_sds/swstubs/portinfo.o -L/lib -L--sysroot=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot -L/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/lib -L/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/lib -L/usr/lib --sysroot=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/ -Wl,-rpath-link=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot//lib,-rpath-link=/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot//usr/lib -lopencv_videoio -lglib-2.0 -ldrm -lv4l2subdev -lmediactl -lopencv_imgcodecs -lopencv_core -llzma -ltiff -lpng16 -lz -ljpeg -lopencv_imgproc -ldl -lrt -lwebp -lopencv_features2d -lopencv_flann   -L /opt/Xilinx/SDSoC/SDx/2017.4/target/aarch64-linux/lib -L/home/ariel/Documents/sdsoc_prjts/xfopencv_test/Release/_sds/swstubs -Wl,--start-group  -Wl,--end-group -Wl,--start-group    -lpthread -lsds_lib -lxlnk_stub  -Wl,--end-group -o /home/ariel/Documents/sdsoc_prjts/xfopencv_test/Release/_sds/swstubs/xfopencv_test.elf'
sds++ log file saved as /home/ariel/Documents/sdsoc_prjts/xfopencv_test/Release/_sds/reports/sds.log
ERROR: [SdsCompiler 83-5004] Build failed

makefile:45: recipe for target 'xfopencv_test.elf' failed
make: *** [xfopencv_test.elf] Error 1

19:29:17 Build Finished (took 25s.175ms)

Also it gives me an error if I select bitwise_andHW to be moved to HW:

 

Moving function bitwise_andHW to Programmable Logic
ERROR: [HLS 200-70] Compilation errors found:
Pragma processor failed: In file included from /home/ariel/Documents/sdsoc_prjts/xfopencv_test/src/xf_arithm_tb.cpp:1:
In file included from /home/ariel/Documents/sdsoc_prjts/xfopencv_test/src/xf_arithm_tb.cpp:31:
In file included from /home/ariel/Documents/sdsoc_prjts/xfopencv_test/src/xf_headers.h:60:
/opt/Xilinx/SDSoC/SDx/2017.4/xfopencv/include/common/xf_sw_utils.h:120:98: error: expected '>'
     int cv_pix = cv_img.at<ap_uint<PixelType<DataType<_PTYPE,_NPC>::pixeldepth>::bitdepth>>(i,j);
                                                                                                 ^
ERROR: [SdsCompiler 83-5019] Exiting sds++ : Error when calling '/opt/Xilinx/SDSoC/Vivado/2017.4/bin/vivado_hls /home/ariel/Documents/sdsoc_prjts/xfopencv_test/Release/_sds/vhls/bitwise_andHW_run.tcl -l bitwise_andHW_vivado_hls.log'
sds++ log file saved as /home/ariel/Documents/sdsoc_prjts/xfopencv_test/Release/_sds/reports/sds_xf_arithm_tb.log
ERROR: [SdsCompiler 83-5004] Build failed

src/subdir.mk:21: recipe for target 'src/xf_arithm_tb.o' failed
make: *** [src/xf_arithm_tb.o] Error 1

19:31:10 Build Finished (took 12s.556ms)

For this error, in file common/xf_sw_utils.h that line seems correct: int cv_pix = cv_img.at<ap_uint<XF_PIXELDEPTH(XF_DEPTH(_PTYPE, _NPC))>>(i,j); so that is clearly not the issue...

 

Thanks again for the help.

0 Kudos
Xilinx Employee
Xilinx Employee
2,732 Views
Registered: ‎05-25-2018

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@aripod
2017.4 SDx might not be supporting the Performance estimation on template functions. But, it has been tested to work on 2018.2 SDx with the said approach. 

The Vivado HLS report should be generated (in _sds/vhls/.. directory) even if you do not enable the performance estimate. If it didn't generate, it means that the marked function hasn't been moved to hardware (could be some problem with SDx GUI setting). Would recommend to try it on the command line.

0 Kudos
Explorer
Explorer
2,718 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@gouthamb,

 

I must use 2017.4 so I cannot switch to 2018.4 for now.

 

I re-built again and I still cannot open HLS from SDSoC and in _sds directory does not seem to have the HLS report:

 

_sds/
├── iprepo
│   ├── repo
│   └── zcu102.runs
│       └── impl_1
│           └── bitstream.bit
├── p0
│   ├── ipi
│   │   └── zcu102.sdk
│   │       └── zcu102.hdf
│   ├── sd_card
│   │   ├── boot.bif
│   │   ├── BOOT.BIN
│   │   ├── im0.jpg
│   │   ├── im1.jpg
│   │   ├── image.ub
│   │   ├── README.txt
│   │   └── xfopencv_test.elf.bit.bin
│   └── vpl
│       └── system.hdf
├── reports
│   ├── sds.jou
│   ├── sds.log
│   ├── sds.rpt
│   ├── sds_xf_arithm_accel.jou
│   ├── sds_xf_arithm_accel.log
│   ├── sds_xf_arithm_tb.jou
│   └── sds_xf_arithm_tb.log
├── swstubs
│   ├── cf_stub.c
│   ├── cf_stub.h
│   ├── cf_stub.o
│   ├── libxfopencv_test.a
│   ├── libxlnk_stub.a
│   ├── portinfo.c
│   ├── portinfo.h
│   ├── portinfo.o
│   ├── xf_arithm_accel.o.xml
│   ├── xf_arithm_tb.o.xml
│   └── xfopencv_test.elf
└── trace

To do it via the command line, I have to launch the shell in SDSoC by Xilinx -> Launch shell and then? I can see on UG1027:

sdscc | sds++ [hardware_function_options] [system_options]
[performance_estimation_options] [options_passed_through_to_cross_compiler]
[-mno-ir]
[-sds-pf platform_name] [-sds-pf-info platform_name] [-sds-pf-list]
[-sds-sys-config configuration name [-sds-proc processor_name]] [-target-os
os_name]
[-verbose] [ -version] [--help] [files]

But how do I choose which function to move to HW?

 

Thanks for the help.

0 Kudos
Explorer
Explorer
2,697 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@gouthamb,

 

I have just implemented a non-xfopencv function in the same project and I was able to move it into HW with the GUI so that might not be the issue. I can see the HLS report inside SDSoC. The issue remains when I want to move the xfOpenCV function like you showed me.

 

Thanks for the help.

0 Kudos
Xilinx Employee
Xilinx Employee
2,688 Views
Registered: ‎05-25-2018

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@aripod
It seems to be a problem particularly with the GUI and the xfopencv template function. I suggest to download the xfOpenCV GitHub repo, build the arithm function in it with the available Makefile (specify the PLATFORM as zcu102 in the makefile). You will see the Vivado HLS report generated.

If you intend to get the performance estimate also, then use the 2018.2 SDx and append the following to the SDSCC_FLAGS variable at the end in the same makefile:

 

-perf-root main -perf-est swdata.xml -perf-funcs multiply

 

For more details see "Building a Project Using the Example Makefiles on Linux" section in UG1233.

Highlighted
Explorer
Explorer
2,663 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@gouthamb,

 

I wanted to give a quick test to SDSoC 2018.4 then for the estimate feature, so I have the same configuration on both versions:

 

Screenshot from 2018-07-05 09-26-36.png

Screenshot from 2018-07-05 09-27-28.png

And I exported SYSROOT which I checked with the terminal from SDSoC and in 2018.4 now I get these errors:

 

08:51:45 **** Build of configuration Release for project xfopencv_test ****
make pre-build main-build 
sdsoc_make_clean Release
 
Building file: ../src/xf_arithm_accel.cpp
Invoking: SDS++ Compiler
sds++ -DHLS_NO_XIL_FPO_LIB -Wall -O3 -I/opt/Xilinx/SDx/2018.2/zcu102_rv_ss/usr/include/c++/6.2.1 -I/home/ariel/.Xilinx/SDx/2018.2/xfopencv/include -I/opt/Xilinx/SDx/2018.2/zcu102_rv_ss/sw/sysroot/usr/include -I/opt/Xilinx/SDx/2018.2/zcu102_rv_ss/usr/include/c++/6.2.1/aarch64-xilinx-linux -I/opt/Xilinx/SDx/2018.2/zcu102_rv_ss/usr/include/c++/6.2.1/backward -I/opt/Xilinx/SDx/2018.2/zcu102_rv_ss/usr/include -I/opt/Xilinx/SDx/2018.2/zcu102_rv_ss/usr/include/glib-2.0 -I/opt/Xilinx/SDx/2018.2/zcu102_rv_ss/usr/lib/glib-2.0/include -I/opt/Xilinx/SDK/2018.2/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/6.2.1 -I/opt/Xilinx/SDK/2018.2/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/6.2.1/aarch64-linux-gnu -I/opt/Xilinx/SDK/2018.2/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/6.2.1/backward -I/opt/Xilinx/SDK/2018.2/gnu/aarch64/nt/aarch64-linux/lib/gcc/aarch64-linux-gnu/6.2.1/include -I/opt/Xilinx/SDK/2018.2/gnu/aarch64/nt/aarch64-linux/lib/gcc/aarch64-linux-gnu/6.2.1/include-fixed -I/opt/Xilinx/SDK/2018.2/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include -I"../src" -c -fmessage-length=0 -MT"src/xf_arithm_accel.o" -Wno-overloaded-virtual -Wno-unused-label -Wno-strict-overflow -Wno-uninitialized -Wno-unused-function -Wno-unused-variable -Wno-unknown-attributes -Wno-unused-local-typedefs -Wno-sign-compare -MMD -MP -MF"src/xf_arithm_accel.d" -MT"src/xf_arithm_accel.o" -o "src/xf_arithm_accel.o" "../src/xf_arithm_accel.cpp" -sds-sys-config a53_standalone -sds-proc a53_standalone -sds-pf "zcu102"
Create data motion intermediate representation
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:146:11: error: no member named 'fwide' in the global namespace
  using ::fwide;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:147:11: error: no member named 'fwprintf' in the global namespace
  using ::fwprintf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:148:11: error: no member named 'fwscanf' in the global namespace
  using ::fwscanf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:158:11: error: no member named 'swprintf' in the global namespace
  using ::swprintf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:160:11: error: no member named 'swscanf' in the global namespace
  using ::swscanf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:162:11: error: no member named 'vfwprintf' in the global namespace
  using ::vfwprintf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:164:11: error: no member named 'vfwscanf' in the global namespace
  using ::vfwscanf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:167:11: error: no member named 'vswprintf' in the global namespace
  using ::vswprintf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:170:11: error: no member named 'vswscanf' in the global namespace
  using ::vswscanf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:172:11: error: no member named 'vwprintf' in the global namespace
  using ::vwprintf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:174:11: error: no member named 'vwscanf' in the global namespace
  using ::vwscanf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:191:11: error: no member named 'wcstof' in the global namespace
  using ::wcstof;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:202:11: error: no member named 'wprintf' in the global namespace
  using ::wprintf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:203:11: error: no member named 'wscanf' in the global namespace
  using ::wscanf;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:248:11: error: no member named 'wcstold' in the global namespace
  using ::wcstold;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:257:11: error: no member named 'wcstoll' in the global namespace
  using ::wcstoll;
        ~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:258:11: error: no member named 'wcstoull' in the global namespace; did you mean 'wcstoul'?
  using ::wcstoull;
        ~~^
/opt/Xilinx/SDx/2018.2/zcu102_rv_ss/sw/sysroot/usr/include/wchar.h:476:26: note: 'wcstoul' declared here
extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
                         ^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:264:22: error: no member named 'wcstold' in namespace '__gnu_cxx'; did you mean 'wcstoul'?
  using ::__gnu_cxx::wcstold;
        ~~~~~~~~~~~~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:258:11: note: 'wcstoul' declared here
  using ::wcstoull;
          ^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:265:22: error: no member named 'wcstoll' in namespace '__gnu_cxx'; did you mean 'wcstoul'?
  using ::__gnu_cxx::wcstoll;
        ~~~~~~~~~~~~~^
/opt/Xilinx/SDK/2018.2/gnu/aarch64/lin/aarch64-none/aarch64-none-elf/include/c++/7.2.1/cwchar:258:11: note: 'wcstoul' declared here
  using ::wcstoull;
          ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
ERROR: [SdsCompiler 83-5005] clang exited with non-zero code processing /home/ariel/sdsoc2018_workspace/xfopencv_test/src/xf_arithm_accel.cpp
sds++ log file saved as /home/ariel/sdsoc2018_workspace/xfopencv_test/Release/_sds/reports/sds_xf_arithm_accel.log
ERROR: [SdsCompiler 83-5004] Build failed

src/subdir.mk:21: recipe for target 'src/xf_arithm_accel.o' failed
make: *** [src/xf_arithm_accel.o] Error 1

08:51:47 Build Finished (took 2s.364ms)

So I added the multiply function to be moved to HW and the Makefile looks like this:

 

APPSOURCES = xf_arithm_tb.cpp xf_arithm_accel.cpp 
EXECUTABLE = aritham.elf
VERBOSE = #-verbose
PLATFORM = <path-to-reVISION-platform>
SDSCC_FLAGS = -sds-pf ${PLATFORM} \
-perf-root main -perf-est swdata.xml -perf-funcs multiply -sds-hw "xf::multiply<0,2,1080,1920,1>" xf_arithm_accel.cpp -files ../../include/core/xf_arithm.hpp -clkid 2 -sds-end -dmclkid 2\

CC = sds++ ${SDSCC_FLAGS}

IDIRS = -I. -I${SYSROOT}/usr/include -I ../../include

LDIRS = --sysroot=${SYSROOT} -L=/lib -L=/usr/lib -Wl,-rpath-link=${SYSROOT}/lib,-rpath-link=${SYSROOT}/usr/lib

CC = sds++ ${SDSCC_FLAGS}

IDIRS = -I. -I${SYSROOT}/usr/include -I ../../include

LDIRS = --sysroot=${SYSROOT} -L=/lib -L=/usr/lib -Wl,-rpath-link=${SYSROOT}/lib,-rpath-link=${SYSROOT}/usr/lib

LLIBS = -lopencv_imgcodecs -lopencv_core -llzma -ltiff -lpng16 -lz -ljpeg -lopencv_imgproc -ldl -lrt -lwebp -lopencv_features2d -lopencv_flann 
#LLIBS = -lopencv_core -lopencv_imgproc -lopencv_imgcodecs 
#OLEVEL = -ggdb
CFLAGS = -O3 -Wall ${OLEVEL} -c ${IDIRS} -DHLS_NO_XIL_FPO_LIB
LFLAGS = ${OLEVEL} ${LDIRS} ${LLIBS}

SOURCES := $(patsubst %,./%,$(APPSOURCES))
OBJECTS := $(APPSOURCES:.cpp=.o)
DEPS := $(OBJECTS:.o=.d)
.PHONY: all
all: ${EXECUTABLE}
${EXECUTABLE}: ${OBJECTS}
	${CC} ${OBJECTS} ${LFLAGS} -o $@
-include ${DEPS}
%.o: %.cpp
	${CC} ${CFLAGS} $< -o $@
clean:
	${RM} ${EXECUTABLE} ${OBJECTS}
ultraclean: clean
	${RM} -rf _sds sd_card ${EXECUTABLE}.bit ${EXECUTABLE} ${OBJECTS}
copy:
	/bin/cp -prf ${XLNX_SRC_PATH}/arithm/example .
	/bin/cp -prf ${XLNX_SRC_PATH}/arithm/src .

Thanks for the help.

0 Kudos
Explorer
Explorer
2,650 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@gouthamb,

 

Regarding using the provided Makefile, I added the zcu102 platform and then I added the IDIRS for xfopencv/include and sysroot/usr/include so it looks like this:

 

APPSOURCES = xf_arithm_tb.cpp xf_arithm_accel.cpp 
EXECUTABLE = aritham.elfcl
VERBOSE = #-verbose
PLATFORM = zcu102
SDSCC_FLAGS = -sds-pf ${PLATFORM} \
-sds-hw "xf::multiply<0,2,1080,1920,1>" xf_arithm_accel.cpp -files ../../include/core/xf_arithm.hpp -clkid 2 -sds-end -dmclkid 2\

CC = sds++ ${SDSCC_FLAGS}

IDIRS = -I. -I${SYSROOT}/usr/include -I ../../include

LDIRS = --sysroot=${SYSROOT} -L=/lib -L=/usr/lib -Wl,-rpath-link=${SYSROOT}/lib,-rpath-link=${SYSROOT}/usr/lib

CC = sds++ ${SDSCC_FLAGS}

IDIRS = -I. -I${SYSROOT}/usr/include -I ../../include -I/opt/Xilinx/SDSoC/SDx/2017.4/xfopencv/include -I/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/include

LDIRS = --sysroot=${SYSROOT} -L=/lib -L=/usr/lib -Wl,-rpath-link=${SYSROOT}/lib,-rpath-link=${SYSROOT}/usr/lib

LLIBS = -lopencv_imgcodecs -lopencv_core -llzma -ltiff -lpng16 -lz -ljpeg -lopencv_imgproc -ldl -lrt -lwebp -lopencv_features2d -lopencv_flann 
#LLIBS = -lopencv_core -lopencv_imgproc -lopencv_imgcodecs 
#OLEVEL = -ggdb
CFLAGS = -O3 -Wall ${OLEVEL} -c ${IDIRS} -DHLS_NO_XIL_FPO_LIB
LFLAGS = ${OLEVEL} ${LDIRS} ${LLIBS}

SOURCES := $(patsubst %,./%,$(APPSOURCES))
OBJECTS := $(APPSOURCES:.cpp=.o)
DEPS := $(OBJECTS:.o=.d)
.PHONY: all
all: ${EXECUTABLE}
${EXECUTABLE}: ${OBJECTS}
        ${CC} ${OBJECTS} ${LFLAGS} -o $@
-include ${DEPS}
%.o: %.cpp
        ${CC} ${CFLAGS} $< -o $@
clean:
        ${RM} ${EXECUTABLE} ${OBJECTS}
ultraclean: clean
        ${RM} -rf _sds sd_card ${EXECUTABLE}.bit ${EXECUTABLE} ${OBJECTS}
copy:
        /bin/cp -prf ${XLNX_SRC_PATH}/arithm/example .
        /bin/cp -prf ${XLNX_SRC_PATH}/arithm/src .

But when I make I still get the following error:

sds++ -sds-pf zcu102 -sds-hw "xf::multiply<0,2,1080,1920,1>" xf_arithm_accel.cpp -files ../../include/core/xf_arithm.hpp -clkid 2 -sds-end -dmclkid 2  -O3 -Wall  -c -I. -I/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot//usr/include -I ../../include -I/opt/Xilinx/SDSoC/SDx/2017.4/xfopencv/include -I/opt/Xilinx/SDSoC/SDx/2017.4/zcu102_rv_ss/sw/sysroot/usr/include -DHLS_NO_XIL_FPO_LIB xf_arithm_accel.cpp -o xf_arithm_accel.o
Processing -sds-hw block for xf::multiply<0,2,1080,1920,1>
ERROR: [SdsCompiler 83-5061] HLS sub-file not found, path may be incorrect: ../../include/core/xf_arithm.hpp
ERROR: [SdsCompiler 83-5004] Build failed

Makefile:35: recipe for target 'xf_arithm_accel.o' failed
make: *** [xf_arithm_accel.o] Error 1

Why do I get that when I added the path to the IDIRS flag?

 

Thanks again for your help.

0 Kudos
Xilinx Employee
Xilinx Employee
3,455 Views
Registered: ‎05-25-2018

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@aripod

There is no need to change anything in the Makefile except the PLATFORM variable if you are using the GitHub repo, as is.

The Makefile was written in accordance with the GitHub folder structure of xfOpenCV. Hence the path 

-files ../../include/core/xf_arithm.hpp

 If you are not using the GitHub folder structure, you have to update the path accordingly. So, in your case it would be:

-files /opt/Xilinx/SDSoC/SDx/2017.4/xfopencv/include/core/xf_arithm.hpp

Also, please note that the Makefile for 2018.2 and 2017.4 is different (few flags). 

Explorer
Explorer
2,620 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@gouthamb,

 

That did the trick. I can now generate an IP and the HLS report which is what I need to obtain the resource utilization and its performance. Just to double check that I am looking at the right place, I get the file <project>/src/_sds/vhls/w0_xf_multiply/solution/syn/report/csynth.xml

 

<PerformanceEstimates>
<PipelineType>none</PipelineType>
<SummaryOfTimingAnalysis>
<unit>ns</unit>
<EstimatedClockPeriod>3.90</EstimatedClockPeriod>
</SummaryOfTimingAnalysis>
<SummaryOfOverallLatency>
<unit>clock cycles</unit>
<Best-caseLatency>2080088</Best-caseLatency>
<Average-caseLatency>undef</Average-caseLatency>
<Worst-caseLatency>2080088</Worst-caseLatency>
<Interval-min>2080089</Interval-min>
<Interval-max>2080089</Interval-max>
</SummaryOfOverallLatency>
</PerformanceEstimates>

<AreaEstimates>
<Resources>
<BRAM_18K>0</BRAM_18K>
<DSP48E>12</DSP48E>
<FF>908</FF>
<LUT>1934</LUT>
<URAM>0</URAM>
</Resources>
<AvailableResources>
<BRAM_18K>1824</BRAM_18K>
<DSP48E>2520</DSP48E>
<FF>548160</FF>
<LUT>274080</LUT>
<URAM>0</URAM>
</AvailableResources>
</AreaEstimates>

And that is the information that I need, right?

 

Thank you for your help.

0 Kudos
Xilinx Employee
Xilinx Employee
2,296 Views
Registered: ‎05-25-2018

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@aripod
w0_xf_multiply_csynth.rpt is the HLS synthesis report file with performance and resource usage numbers.

Explorer
Explorer
2,288 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution
Great. That looks better. Thanks a lot!
0 Kudos
Explorer
Explorer
2,247 Views
Registered: ‎04-18-2017

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

@gouthamb,

What about if I want to have the multiply function twice with different parameters? For example, one with saturate policy and the other one with truncate? Or two multiplications with different resolutions?

How would it work if I have different arithm_accel-like functions but they all call xf::multiply? Wouldn't a wrapper help here? Rather than accelerating the xf::multiply I accelerate the wrapper....?

 

Or in the Makefile, if I have something like this:

-sds-hw "xf::multiply<0,2,1080,1920,1>" xf_arithm_accel.cpp -files /opt/Xilinx/SDSoC/SDx/2017.4/xfopencv/include/core/xf_arithm.hpp -clkid 2 -sds-end -dmclkid 1\
-sds-hw "xf::multiply<1,2,1080,1920,1>" xf_arithm_accel.cpp -files /opt/Xilinx/SDSoC/SDx/2017.4/xfopencv/include/core/xf_arithm.hpp -clkid 2 -sds-end -dmclkid 1\

Is there a way to name the output (HLS IPs) some way that I want rather than w0_xf_multiply and w0_xf_multiply?
And is there also a way to only run the synthesis and get the reports?


Thanks again for your help.

0 Kudos
Xilinx Employee
Xilinx Employee
2,226 Views
Registered: ‎05-25-2018

Re: Linker error with xfOpenCV and re-VISION stack

Jump to solution

What about if I want to have the multiply function twice with different parameters? For example, one with saturate policy and the other one with truncate? Or two multiplications with different resolutions?

 

- Yes, you can do it that way.

 

How would it work if I have different arithm_accel-like functions but they all call xf::multiply? Wouldn't a wrapper help here? Rather than accelerating the xf::multiply I accelerate the wrapper....?

 

- You can call the same xfOpenCV function multiple times (same or different configuration) within the same or from different accel functions. Wrapper function is not the one to be accelerated.

 

Is there a way to name the output (HLS IPs) some way that I want rather than w0_xf_multiply and w0_xf_multiply?

 

- Naming is taken care of by SDx internally. If you have multiple functions being called from accel, they will be named as w0_xf_multiply, w1_xf_multiply and so on.

 

And is there also a way to only run the synthesis and get the reports?

 

Yes, you can have an only-synthesis run, using standalone Vivado HLS. Refer to the xfOpenCV HLS use model guide on GitHub.

0 Kudos