I am trying to bring up the HLS edge detection design using Vitis HLS 2022.2 on ubuntu 22.04.02. I saw that there are some issues regarding the newer versions of HLS.
So far I believe I managed to synthesize the edge_detect core. I believe the vision library was added correctly with CFLAG (although I haven't tested it on an FPGA) but I keep having trouble with the simulation part. I tried using opencv 4.4.0 and 3.4.16 an I keep getting the same errors
INFO: [SIM 2] *************** CSIM start ***************
INFO: [SIM 4] CSIM will launch GCC as the compiler.
Compiling ../../../edge_d_test.cpp in debug mode
Compiling ../../../edge_detect.cpp in debug mode
Generating csim.exe
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: obj/edge_d_test.o: in function `main':
/media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:11: undefined reference to `cv::imread(cv::String const&, int)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:12: undefined reference to `cv::Mat::Mat(cv::Mat const&)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::Mat()'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::Mat()'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::Mat()'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::Mat()'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::Mat()'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:16: undefined reference to `cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:17: undefined reference to `cv::Sobel(cv::_InputArray const&, cv::_OutputArray const&, int, int, int, int, double, double, int)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:18: undefined reference to `cv::Sobel(cv::_InputArray const&, cv::_OutputArray const&, int, int, int, int, double, double, int)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:19: undefined reference to `cv::convertScaleAbs(cv::_InputArray const&, cv::_OutputArray const&, double, double)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:20: undefined reference to `cv::convertScaleAbs(cv::_InputArray const&, cv::_OutputArray const&, double, double)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:21: undefined reference to `cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:22: undefined reference to `cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:38: undefined reference to `cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:41: undefined reference to `cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::~Mat()'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::~Mat()'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::~Mat()'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::~Mat()'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: /media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:15: undefined reference to `cv::Mat::~Mat()'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: obj/edge_d_test.o:/media/data/work_sarpadi/HLS/edge_detection/edge_detect/solution1/csim/build/../../../edge_d_test.cpp:12: more undefined references to `cv::Mat::~Mat()' follow
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: obj/edge_d_test.o: in function `cv::String::String(char const*)':
/usr/local/include/opencv2/core/cvstd.hpp:602: undefined reference to `cv::String::allocate(unsigned long)'
/emea/mediadata/opt/Xilinx/Vivado/2022.2/tps/lnx64/binutils-2.37/bin/ld: obj/edge_d_test.o: in function `cv::String::~String()':
/usr/local/include/opencv2/core/cvstd.hpp:648: undefined reference to `cv::String::deallocate()'
collect2: error: ld returned 1 exit status
make: *** [Makefile.rules:323: csim.exe] Error 1
ERR: [SIM 100] 'csim_design' failed: compilation error(s).
INFO: [SIM 3] *************** CSIM finish ***************
Has anybody seen these error before? Did anyone manage to run the simulation on the core? Any help would be useful at this point.
Question
sarpadi
Hi guys,
I am trying to bring up the HLS edge detection design using Vitis HLS 2022.2 on ubuntu 22.04.02. I saw that there are some issues regarding the newer versions of HLS.
So far I believe I managed to synthesize the edge_detect core. I believe the vision library was added correctly with CFLAG (although I haven't tested it on an FPGA) but I keep having trouble with the simulation part. I tried using opencv 4.4.0 and 3.4.16 an I keep getting the same errors
Has anybody seen these error before? Did anyone manage to run the simulation on the core? Any help would be useful at this point.
thanks,
Sergiu
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now