Part Number: J721EXSOMXEVM
Other Parts Discussed in Thread: TDA4VM
Hi,
I am trying to compile and use edgeai-gst-apps and optiflow for the TDA4VM EVM (J721EXSOMG01EVM) running SDK Linux and SDK RTOS 11.02. However I am getting the following errors and would like to confirm whether I need to change anything in the process.
What I have done so far:
- Install PSDK Linux Version: 11.02.00.04
- Compile and flash PSDK RTOS Version: 11.02.00.06
- Test whether vision apps work
- clone edgeai-gst-apps
- clone edgeai-tidl-tools
- clone edgeai-gst-plugins
Errors and solutions I have tried.
- When running setup_script.sh from edgeai-gst-apps I get the following output
Current solution that worked: changing from 'https://git.ti.com/cgit/edgeai/edgeai-dl-inferer/' to git://git.ti.com/edgeai/edgeai-dl-inferer.gitroot@j721e-evm:/opt/edgeai-gst-apps# ./setup_script.sh edgeai-apps-utils -- The C compiler identification is GNU 13.4.0 -- The CXX compiler identification is GNU 13.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- CMAKE_BUILD_TYPE = Release PROJECT_NAME = edgeai-apps-utils SOC=j721e TARGET_CPU=A72 -- Configuring done (1.2s) -- Generating done (0.0s) -- Build files have been written to: /opt/edgeai-apps-utils/build [ 22%] Building C object CMakeFiles/edgeai-apps-utils.dir/src/edgeai_dl_pre_proc_armv8_utils.c.o [ 22%] Building C object CMakeFiles/edgeai-apps-utils.dir/src/edgeai_dl_color_convert_armv8_utils.c.o [ 33%] Building C object CMakeFiles/edgeai-apps-utils.dir/src/edgeai_dl_scaler_armv8_utils.c.o [ 44%] Building C object CMakeFiles/edgeai-apps-utils.dir/src/edgeai_nv12_drawing_utils.c.o [ 55%] Building C object CMakeFiles/edgeai-apps-utils.dir/src/edgeai_nv12_font_utils.c.o [ 66%] Building C object CMakeFiles/edgeai-apps-utils.dir/src/edgeai_perf_stats_utils.c.o [ 77%] Building C object CMakeFiles/edgeai-apps-utils.dir/src/edgeai_overlay_perf_stats_utils.c.o /opt/edgeai-apps-utils/src/edgeai_overlay_perf_stats_utils.c: In function 'overlay_graph': /opt/edgeai-apps-utils/src/edgeai_overlay_perf_stats_utils.c:209:25: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 209 | char *cpuName = appIpcGetCpuName(j); | ^~~~~~~~~~~~~~~~ /opt/edgeai-apps-utils/src/edgeai_overlay_perf_stats_utils.c: In function 'overlay_text': /opt/edgeai-apps-utils/src/edgeai_overlay_perf_stats_utils.c:422:25: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] **** LOTS OF BUILD WARNINGS ******** /opt/edgeai-apps-utils/src/edgeai_dl_pre_proc_armv8_utils.c: In function 'dlPreProcess_NV12_image': /opt/edgeai-apps-utils/src/edgeai_dl_pre_proc_armv8_utils.c:15112:54: note: 'V_s' was declared here 15112 | int32x4_t U_f, U_s, V_f, V_s; | ^~~ [100%] Linking C shared library /opt/edgeai-apps-utils/lib/Release/libedgeai-apps-utils.so [100%] Built target edgeai-apps-utils [100%] Built target edgeai-apps-utils Install the project... -- Install configuration: "Release" -- Installing: /usr/lib/libedgeai-apps-utils.so.0.1.0 -- Up-to-date: /usr/lib/libedgeai-apps-utils.so -- Up-to-date: /usr/include/edgeai-apps-utils/edgeai_arm_neon_utils.h -- Up-to-date: /usr/include/edgeai-apps-utils/edgeai_dl_color_convert_armv8_utils.h -- Up-to-date: /usr/include/edgeai-apps-utils/edgeai_dl_pre_proc_armv8_utils.h -- Up-to-date: /usr/include/edgeai-apps-utils/edgeai_dl_scaler_armv8_utils.h -- Up-to-date: /usr/include/edgeai-apps-utils/edgeai_image_params.h -- Up-to-date: /usr/include/edgeai-apps-utils/edgeai_nv12_drawing_utils.h -- Up-to-date: /usr/include/edgeai-apps-utils/edgeai_nv12_font_utils.h -- Up-to-date: /usr/include/edgeai-apps-utils/edgeai_overlay_perf_stats_utils.h -- Up-to-date: /usr/include/edgeai-apps-utils/edgeai_perf_stats_utils.h Cloning into 'edgeai-dl-inferer'... fatal: unable to access 'git.ti.com/.../': The requested URL returned error: 403 Setup FAILED! : Make sure you have active network connection - When switching to the above link and running the setup again, I got the following error
Solution: Searching through the branches/tags revealed that 'EDGEAI_APP_STACK_11_02_00_00' does not exist. Therefore I cloned the branch myself from the working link (git instead of https) and switched to the main branch. This makes the script bypass the cloning of the Repository as the directory already exists.Cloning into 'edgeai-dl-inferer'... warning: Could not find remote branch EDGEAI_APP_STACK_11_02_00_00 to clone. fatal: Remote branch EDGEAI_APP_STACK_11_02_00_00 not found in upstream origin Setup FAILED! : Make sure you have active network connection - Once the script passes through the cloning step and starts compiling dl-inferer, I get the following error
edgeai-dl-inferer -- The C compiler identification is GNU 13.4.0 -- The CXX compiler identification is GNU 13.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- CMAKE_BUILD_TYPE = Release PROJECT_NAME = edgeai_dl_inferer SOC=j721e -- CMAKE_BUILD_TYPE = Release PROJECT_NAME = edgeai_dl_inferer_python SOC=j721e -- CMAKE_BUILD_TYPE = Release PROJECT_NAME = edgeai_post_process SOC=j721e -- CMAKE_BUILD_TYPE = Release PROJECT_NAME = edgeai_pre_process SOC=j721e -- CMAKE_BUILD_TYPE = Release PROJECT_NAME = dump_model_info SOC=j721e -- CMAKE_BUILD_TYPE = Release PROJECT_NAME = app_dl_inferer_test SOC=j721e -- Configuring done (1.2s) -- Generating done (0.0s) -- Build files have been written to: /opt/edgeai-dl-inferer/build [ 8%] Building CXX object post_process/CMakeFiles/edgeai_post_process.dir/src/ti_post_process.cpp.o [ 8%] Building CXX object dl_inferer/CMakeFiles/edgeai_dl_inferer.dir/src/ti_dl_inferer.cpp.o [ 13%] Building CXX object post_process/CMakeFiles/edgeai_post_process.dir/src/ti_post_process_config.cpp.o /opt/edgeai-dl-inferer/post_process/src/ti_post_process_config.cpp:68:10: fatal error: yaml-cpp/yaml.h: No such file or directory 68 | #include <yaml-cpp/yaml.h> | ^~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [post_process/CMakeFiles/edgeai_post_process.dir/build.make:90: post_process/CMakeFiles/edgeai_post_process.dir/src/ti_post_process_config.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:214: post_process/CMakeFiles/edgeai_post_process.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 17%] Building CXX object dl_inferer/CMakeFiles/edgeai_dl_inferer.dir/src/ti_dl_inferer_config.cpp.o /opt/edgeai-dl-inferer/dl_inferer/src/ti_dl_inferer_config.cpp:67:10: fatal error: yaml-cpp/yaml.h: No such file or directory 67 | #include <yaml-cpp/yaml.h> | ^~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [dl_inferer/CMakeFiles/edgeai_dl_inferer.dir/build.make:90: dl_inferer/CMakeFiles/edgeai_dl_inferer.dir/src/ti_dl_inferer_config.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:188: dl_inferer/CMakeFiles/edgeai_dl_inferer.dir/all] Error 2 make: *** [Makefile:136: all] Error 2
This also happens if I try to compile directly from the edgeai-dl-inferer directory.
My question therefore is whether I am missing some steps in between?
How do I compile the edgeai stack for the EVM?
Is it at all possible to use the EVM for Optiflow workflow?
TIA.
Charanjit