PYNQ: PYTHON PRODUCTIVITY FOR ZYNQ

Error running pynq/lstm

Please tell me why the ./make-hw.sh is failing with the error-
INFO: [HLS 200-10] Adding test bench file ‘/home/adsc/Downloads/LSTM_PYNQ/lstm/src/library/host/lstm_inference.cpp’ to the project
INFO: [HLS 200-10] Adding test bench file ‘/home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/plain/W2A2/…/…/main.cpp’ to the project
INFO: [HLS 200-10] Creating and opening solution ‘/home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1’.
INFO: [HLS 200-10] Setting target device to ‘xc7z020clg400-1’
INFO: [SYN 201-201] Setting up clock ‘default’ with a period of 5ns.
INFO: [SIM 211-2] *************** CSIM start ***************
INFO: [SIM 211-4] CSIM will launch CLANG as the compiler.
Compiling …/…/…/…/…/…/main.cpp in debug mode
Compiling …/…/…/…/…/…/…/library/host/lstm_inference.cpp in debug mode
Compiling …/…/…/…/…/…/plain/top.cpp in debug mode
Generating csim.exe
Makefile.rules:374: recipe for target ‘csim.exe’ failed
obj/lstm_inference.o: In function lstm_ocr_wrapper': /home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/../../../../../../../library/host/lstm_inference.cpp:37: undefined reference toInputImage::InputImage(float*, unsigned int)’
/home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/…/…/…/…/…/…/…/library/host/lstm_inference.cpp:40: undefined reference to InputImage::~InputImage()' /home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/../../../../../../../library/host/lstm_inference.cpp:40: undefined reference toInputImage::~InputImage()’
obj/lstm_inference.o: In function lstm_ocr(float*, int, char const*, float*)': /home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/../../../../../../../library/host/lstm_inference.cpp:64: undefined reference toAlphabet::Alphabet()’
/home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/…/…/…/…/…/…/…/library/host/lstm_inference.cpp:66: undefined reference to Alphabet::Init(std::string)' /home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/../../../../../../../library/host/lstm_inference.cpp:124: undefined reference toAlphabet::ReturnSymbol(unsigned int)’
/home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/…/…/…/…/…/…/…/library/host/lstm_inference.cpp:128: undefined reference to Alphabet::~Alphabet()' /home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/../../../../../../../library/host/lstm_inference.cpp:128: undefined reference toAlphabet::~Alphabet()’
obj/lstm_inference.o: In function lstm_ocr_from_file_path(char const*, char const*, float*)': /home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/../../../../../../../library/host/lstm_inference.cpp:49: undefined reference toInputImage::InputImage(std::string)’
/home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/…/…/…/…/…/…/…/library/host/lstm_inference.cpp:51: undefined reference to InputImage::~InputImage()' /home/adsc/Downloads/LSTM_PYNQ/lstm/src/network/output/hls-syn/plain-W2A2/sol1/csim/build/../../../../../../../library/host/lstm_inference.cpp:51: undefined reference toInputImage::~InputImage()’
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [csim.exe] Error 1
ERROR: [SIM 211-100] ‘csim_design’ failed: compilation error(s).
INFO: [SIM 211-3] *************** CSIM finish ***************
4
while executing
"source [lindex ::argv 1] " ("uplevel" body line 1) invoked from within "uplevel \#0 { source [lindex ::argv 1] } "

INFO: [Common 17-206] Exiting vivado_hls at Fri Jun 14 16:48:02 2019…
ERROR: [SIM 211-100] ‘csim_design’ failed: compilation error(s).
Error in Vivado_HLS

It has been solved thanks.

If you post a question that you then figure out the answer to, it would be helpful if you could explain what the solution was in case anyone else has this problem in future.

Cathal