This is a discussion started with vanessamaegima in thread Arm NN support for the i.MX 8 GPUs,
all details can be found there. As i wrote, if you are not able to replicate this issue, i can try to debug application: i need info how to build application and libraries with debug symbols.
Thanks
Damiano
Damiano,
I think crash is because of different reason, can you try the hack I suggested previously and see if it works?
Can you try quick hack to see if it works for? There should be data folder. Please delete all the files from there.
Let me know if it helps.
-Manish
Hi manishbajaj,
you're right, if i start application with acceleration enabled:
Instead, with acceleration disabled, application run with data folder not empty too.
Thanks
Damiano
damiano.cipriani@engicam.com So are you seeing the issue with GPU only or even with CPU?
Issue happens bot with CPU only and with GPU acceleration (with and without -a 1 option). Here some others info i hope can help you to understand the problem:
[ 49.360647] input fmt YUV4
[ 49.363359] output fmt BGR3
[ 50.089015] input fmt YUV4
[ 50.091743] output fmt BGR3
[ 50.653013] input fmt YUV4
[ 50.655745] output fmt BGR3
[ 309.744653] input fmt YUV4
[ 309.747369] output fmt BGR3
Thanks,
Damiano
Damiano,
Can you try quick hack to see if it works for? There should be data folder. Please delete all the files from there.
Let me know if it helps.
Hi manishbajaj,
all my previous attempts were done with data folder empty.
Now, if data folder contains one or more images (i tried with a jpg and a bmp), both with acceleration enabled and without, application still crashes. This is the output
Enrolling....
Add face 1
image read 1
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(4.0.1) /usr/src/debug/opencv/4.0.1.imx-r0/git/modules/objdetect/src/cascadedetect.cpp:1658: error: (-215:Assertion failed) !empty() in function 'detectMultiScale'
Aborted
But, in this case, crash happens every application run. Instead, if data folder is empty, following run cause application stuck: only a reboot make application crash again.
Hope this can help you
Thanks
Damiano
Hi damiano.cipriani@engicam.com,
From the log, it seems that you miss the xml file for face detection. Can you please double check that if you put haarcascade_frontalface_alt.xml in the same path with the FaceRecognition? Please let me know your results.
BTW, GPU doesn't support all of the OPs in the mobilefacenet. So, please just run the demo with CPU backend.
Hi devin,
thank you very much, it run! When i rebuilded application outside Yocto, i forget to copy haarcascade_frontalface_alt.xml in the new path (maybe you could to add this step in application README, previous time i understood to copy this file looking in the cpp code).
Before leaving this issue, only another question: when i stop application, to make it run again i have to reboot machine, otherwise it stucks: do you have same behavior on your environment?
Whatabout GPU, you're right: if i start application with acceleration enabled, it crashes.
Thanks
Damiano
Hi Damiano,
Good suggestion. We will update the README.
I tried three approaches to stop the app (clicking 'stop' button, clicking 'x' in the surface and ctrl + 'c' in the terminal), but I didn't encounter the stuck issue. The app can be restarted. Note that, if you add a new person to the database, please follow the steps in README. There are two approaches to add a new person.
1. Firstly, enter the person's name by virtual keyboard in the interface. Secondly, click 'Add new person' button.
2. Firstly, click 'Add new person' button. Secondly, type the new person's name in the terminal.
During adding a new person to the database, the video will be paused. If you click 'Add new person' button firstly, you must input the person's name in the terminal. Before typing the name, clicking any button (including the 'stop' button) in the interface doesn't work at this moment, which looks like a stuck issue. Because the program is waiting for the terminal input info. It will work again after you type the person's name in the terminal. Can you double check if you follow the steps?
Hi devin,
sorry but i explained you quite bad what happens. If i stop application in any of the three approaches, i can start application again, but it stucks before showing camera input on the screen. Normally, when application runs correctly, i see on console
[ 148.279403] input fmt YUV4
[ 148.282126] output fmt BGR3
[ 148.999753] input fmt YUV4
[ 149.002490] output fmt BGR3
[ 149.563721] input fmt YUV4
[ 149.566456] output fmt BGR3
Instead, when application stucks, i see only
[ 515.793372] input fmt YUV4
[ 515.796080] output fmt BGR3
It seems to have problem catching camera input. Hope this explanation can be clear to you.
Whatabout application functionality, i followed steps you described and all works correctly.
Thanks
Damiano
Hi vanessamaegima,
i have done following steps:
But result is the same: first time i run, application crashes. Following run instead application stucks, and i've found that camera stucks too! I.e., if after application crash i start gst-launch-1.0 v4l2src ! autovideosink, gstreamer start but no camera output is shown on display. Without starting FaceRecognition, camera start every time i run it.
Very strange behaviour, it seems FaceRecognition cause some irreversible error ...
Thanks
Damiano
Could you please share your compiled binary so I can give it a try this on my setup?
Unfortunately due to NXP guidelines I can't share my working binary with you but let me test yours.
Hi Damiano,
Your binary worked well for us but we could also reproduce your issue with a binary we build using L4.19-warrior toolchain. I guess this might be related to TF versions mismatch but we are still investigating.
Did you build your binary using the project's Makefile (Makefile.linux\src\face_recognition\examples-tflite - eiq_sample_apps - Unnamed repository; edit thi... )?
I am using imx8qxp demo board with yocto L4.19.35, i want to build and run the "eIQ Sample Apps - Face Recognition using TF Lite" successful . My PC is ubuntu 18.04. Thanks.
When i run the"eIQ Sample Apps - Face Recognition using TF Lite" demo which download eiq_sample_apps - Unnamed repository; edit this file 'description' to name the repository. , i found that i can't compile successful.
1.Could you tell me which version of tensorflow and tensorflow-lite does the "eIQ Sample Apps - Face Recognition using TF Lite" use?
2. Could you help to send me a local.conf which contains the "tensorflow tensorflow-lite" config that i can refer to, in fact, i did add the image by "IMAGE_INSTALL_append += " tensorflow tensorflow-lite""
3. Shoud i download the tensorflow offical source code to build libtensorflow-lite.a by myself ,whether the yocto will do the tensorflow / tensorflow-lite source code download ,complie , library install by itself.
my local.conf file as below shown:
MACHINE ??= 'imx8qxpmek'
DISTRO ?= 'fsl-imx-xwayland'
PACKAGE_CLASSES ?= 'package_rpm'
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-system-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
PACKAGECONFIG_append_pn-opencv_mx8 = "gtk jasper test"
CONF_VERSION = "1"
CORE_IMAGE_EXTRA_INSTALL += "opencv opencv-samples libopencv-core libopencv-imgproc"
CORE_IMAGE_EXTRA_INSTALL += "libopencv-core-dev libopencv-highgui-dev libopencv-imgproc-dev libopencv-objdetect-dev libopencv-ml-dev"
CORE_IMAGE_EXTRA_INSTALL += "python3-pip"
IMAGE_INSTALL_append += " wget vim git"
IMAGE_INSTALL_append += " tensorflow tensorflow-lite"
#IMAGE_INSTALL_append += " eiq-sample-apps"
DL_DIR="/home/xxx/NXP/downloads"
ACCEPT_FSL_EULA = "1"
when compile face_recognition the error log as below shown:
root@imx8qxpmek:~/prj/eiq_sample_apps/examples-tflite/face_recognition/src# make
g++ -o FaceRecognition -I /usr/include/tensorflow/contrib/lite/tools/make/downloads/flatbuffers/include/ face_recognition.cpp face_detect_helpers.cpp -ltensorflow-lite -lpthread -ldl -g -lopencv_objdetect -lopencv_highgui -lopencv_imgproc -lopencv_core -lopencv_videoio -lopencv_imgcodecs
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /tmp/ccxVT0W3.o: in function `tflite::facerec::init_interpreter(tflite::facerec::Settings*)':
/home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:149: undefined reference to `tflite::InterpreterBuilder::InterpreterBuilder(tflite::FlatBufferModel const&, tflite::OpResolver const&)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:149: undefined reference to `tflite::InterpreterBuilder::operator()(std::unique_ptr<tflite::Interpreter, std::default_delete<tflite::Interpreter> >*)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:149: undefined reference to `tflite::InterpreterBuilder::~InterpreterBuilder()'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:156: undefined reference to `tflite::Interpreter::UseNNAPI(bool)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:168: undefined reference to `tflite::Interpreter::SetNumThreads(int)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:184: undefined reference to `tflite::Interpreter::AllocateTensors()'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:190: undefined reference to `tflite::PrintInterpreterState(tflite::Interpreter*)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:149: undefined reference to `tflite::InterpreterBuilder::~InterpreterBuilder()'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /tmp/ccxVT0W3.o: in function `tflite::facerec::get_output_tensor(cv::Mat, tflite::facerec::Settings*)':
/home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:219: undefined reference to `tflite::Interpreter::Invoke()'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /tmp/ccxVT0W3.o: in function `tflite::Interpreter::SetTensorParametersReadWrite(int, TfLiteType, char const*, std::vector<int, std::allocator<int> > const&, TfLiteQuprjizationParams, bool)':
/usr/include/tensorflow/contrib/lite/interpreter.h:189: undefined reference to `tflite::Interpreter::SetTensorParametersReadWrite(int, TfLiteType, char const*, unsigned long, int const*, TfLiteQuprjizationParams, bool)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /tmp/ccxVT0W3.o: in function `void tflite::facerec::copy_resize<unsigned char>(unsigned char*, cv::Mat&, int, int, int, bool)':
/home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:60: undefined reference to `tflite::Interpreter::Interpreter(tflite::ErrorReporter*)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:65: undefined reference to `tflite::Interpreter::AddTensors(int, int*)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:67: undefined reference to `tflite::Interpreter::AddTensors(int, int*)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:69: undefined reference to `tflite::Interpreter::SetInputs(std::vector<int, std::allocator<int> >)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:70: undefined reference to `tflite::Interpreter::SetOutputs(std::vector<int, std::allocator<int> >)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:85: undefined reference to `tflite::ops::builtin::BuiltinOpResolver::FindOp(tflite::BuiltinOperator, int) const'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:89: undefined reference to `tflite::Interpreter::AddNodeWithParameters(std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, char const*, unsigned long, void*, _TfLiteRegistration const*, int*)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:92: undefined reference to `tflite::Interpreter::AllocateTensors()'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:106: undefined reference to `tflite::Interpreter::Invoke()'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /tmp/ccxVT0W3.o: in function `void tflite::facerec::copy_resize<float>(float*, cv::Mat&, int, int, int, bool)':
/home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:60: undefined reference to `tflite::Interpreter::Interpreter(tflite::ErrorReporter*)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:65: undefined reference to `tflite::Interpreter::AddTensors(int, int*)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:67: undefined reference to `tflite::Interpreter::AddTensors(int, int*)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:69: undefined reference to `tflite::Interpreter::SetInputs(std::vector<int, std::allocator<int> >)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:70: undefined reference to `tflite::Interpreter::SetOutputs(std::vector<int, std::allocator<int> >)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:85: undefined reference to `tflite::ops::builtin::BuiltinOpResolver::FindOp(tflite::BuiltinOperator, int) const'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:89: undefined reference to `tflite::Interpreter::AddNodeWithParameters(std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, char const*, unsigned long, void*, _TfLiteRegistration const*, int*)'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:92: undefined reference to `tflite::Interpreter::AllocateTensors()'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /home/root/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:106: undefined reference to `tflite::Interpreter::Invoke()'
/usr/lib/gcc/aarch64-poky-linux/8.3.0/../../../../aarch64-poky-linux/bin/ld: /tmp/ccxVT0W3.o: in function `std::default_delete<tflite::Interpreter>::operator()(tflite::Interpreter*) const':
/usr/include/c++/8.3.0/bits/unique_ptr.h:81: undefined reference to `tflite::Interpreter::~Interpreter()'
collect2: error: ld returned 1 exit status
make: *** [Makefile:13: FaceRecognition] Error 1
when cross compile face_recognition on PC the error log as below shown:
xxx@xxx-HP-ProDesk-400-G2-MT:~/prj/eiq_sample_apps/examples-tflite/face_recognition/src$ make
aarch64-poky-linux-g++ --sysroot=/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/aarch64-poky-linux -o FaceRecognition -I /usr/include/tensorflow/contrib/lite/tools/make/downloads/flatbuffers/include/ face_recognition.cpp face_detect_helpers.cpp -ltensorflow-lite -lpthread -ldl -g -lopencv_objdetect -lopencv_highgui -lopencv_imgproc -lopencv_core -lopencv_videoio -lopencv_imgcodecs
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /tmp/ccSP0U7S.o: in function `tflite::facerec::init_interpreter(tflite::facerec::Settings*)':
/home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:147: undefined reference to `tflite::InterpreterBuilder::InterpreterBuilder(tflite::FlatBufferModel const&, tflite::OpResolver const&)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:147: undefined reference to `tflite::InterpreterBuilder::operator()(std::unique_ptr<tflite::Interpreter, std::default_delete<tflite::Interpreter> >*)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:147: undefined reference to `tflite::InterpreterBuilder::~InterpreterBuilder()'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:154: undefined reference to `tflite::Interpreter::UseNNAPI(bool)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:166: undefined reference to `tflite::Interpreter::SetNumThreads(int)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:182: undefined reference to `tflite::Interpreter::AllocateTensors()'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:188: undefined reference to `tflite::PrintInterpreterState(tflite::Interpreter*)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:147: undefined reference to `tflite::InterpreterBuilder::~InterpreterBuilder()'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /tmp/ccSP0U7S.o: in function `tflite::facerec::get_output_tensor(cv::Mat, tflite::facerec::Settings*)':
/home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_recognition.cpp:217: undefined reference to `tflite::Interpreter::Invoke()'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /tmp/ccSP0U7S.o: in function `tflite::Interpreter::SetTensorParametersReadWrite(int, TfLiteType, char const*, std::vector<int, std::allocator<int> > const&, TfLiteQuprjizationParams, bool)':
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/aarch64-poky-linux/usr/include/tensorflow/lite/interpreter.h:186: undefined reference to `tflite::Interpreter::SetTensorParametersReadWrite(int, TfLiteType, char const*, unsigned long, int const*, TfLiteQuprjizationParams, bool)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /tmp/ccSP0U7S.o: in function `void tflite::facerec::copy_resize<unsigned char>(unsigned char*, cv::Mat&, int, int, int, bool)':
/home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:58: undefined reference to `tflite::Interpreter::Interpreter(tflite::ErrorReporter*)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:63: undefined reference to `tflite::Interpreter::AddTensors(int, int*)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:65: undefined reference to `tflite::Interpreter::AddTensors(int, int*)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:67: undefined reference to `tflite::Interpreter::SetInputs(std::vector<int, std::allocator<int> >)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:68: undefined reference to `tflite::Interpreter::SetOutputs(std::vector<int, std::allocator<int> >)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:83: undefined reference to `tflite::ops::builtin::BuiltinOpResolver::FindOp(tflite::BuiltinOperator, int) const'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:87: undefined reference to `tflite::Interpreter::AddNodeWithParameters(std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, char const*, unsigned long, void*, _TfLiteRegistration const*, int*)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:90: undefined reference to `tflite::Interpreter::AllocateTensors()'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:104: undefined reference to `tflite::Interpreter::Invoke()'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /tmp/ccSP0U7S.o: in function `void tflite::facerec::copy_resize<float>(float*, cv::Mat&, int, int, int, bool)':
/home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:58: undefined reference to `tflite::Interpreter::Interpreter(tflite::ErrorReporter*)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:63: undefined reference to `tflite::Interpreter::AddTensors(int, int*)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:65: undefined reference to `tflite::Interpreter::AddTensors(int, int*)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:67: undefined reference to `tflite::Interpreter::SetInputs(std::vector<int, std::allocator<int> >)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:68: undefined reference to `tflite::Interpreter::SetOutputs(std::vector<int, std::allocator<int> >)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:83: undefined reference to `tflite::ops::builtin::BuiltinOpResolver::FindOp(tflite::BuiltinOperator, int) const'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:87: undefined reference to `tflite::Interpreter::AddNodeWithParameters(std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, char const*, unsigned long, void*, _TfLiteRegistration const*, int*)'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:90: undefined reference to `tflite::Interpreter::AllocateTensors()'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /home/xxx/prj/eiq_sample_apps/examples-tflite/face_recognition/src/face_detect_helpers_impl.h:104: undefined reference to `tflite::Interpreter::Invoke()'
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /tmp/ccSP0U7S.o: in function `std::default_delete<tflite::Interpreter>::operator()(tflite::Interpreter*) const':
/home/xxx/prj/fsl-imx-xwayland/4.19-warrior/sysroots/aarch64-poky-linux/usr/include/c++/8.3.0/bits/unique_ptr.h:81: undefined reference to `tflite::Interpreter::~Interpreter()'
collect2: error: ld returned 1 exit status
Makefile:13: recipe for target 'FaceRecognition' failed
make: *** [FaceRecognition] Error 1
Hi,
Sorry for the delay, I was out of office until today. If help is still needed, please open a new issue.
Hi vanessamaegima,
yes i build with project's Makefile.linux (the only difference is in the include directory, i deleted contrib from path to build with warrior).
Let me know when you have some news.
Thanks
Damiano