TexasInstruments / edgeai-tiovx-modules

Repository to host TI's OpenVx modules used in the EdgeAI SDK.
Other
8 stars 7 forks source link

TIOVX Compilation error #92

Open ss13ms110 opened 1 year ago

ss13ms110 commented 1 year ago

Hello TI,

I am trying to compile the edgeai-tiovx-modules on BeagleBone-AI-64. However, with no success.

I keep getting TI/tivx.h not found.

debian@BeagleBone:/opt/edgeai-tiovx-modules/build$ sudo make -j2
[  6%] Building C object CMakeFiles/edgeai-tiovx-modules.dir/src/tiovx_img_mosaic_module.c.o
[  6%] Building C object CMakeFiles/edgeai-tiovx-modules.dir/src/tiovx_multi_scaler_module.c.o
In file included from /opt/edgeai-tiovx-modules/include/tiovx_multi_scaler_module.h:75,
                 from /opt/edgeai-tiovx-modules/src/tiovx_multi_scaler_module.c:62:
/opt/edgeai-tiovx-modules/include/tiovx_modules_common.h:65:10: fatal error: TI/tivx.h: No such file or directory
   65 | #include <TI/tivx.h>
      |          ^~~~~~~~~~~
compilation terminated.
In file included from /opt/edgeai-tiovx-modules/include/tiovx_img_mosaic_module.h:75,
                 from /opt/edgeai-tiovx-modules/src/tiovx_img_mosaic_module.c:63:
/opt/edgeai-tiovx-modules/include/tiovx_modules_common.h:65:10: fatal error: TI/tivx.h: No such file or directory
   65 | #include <TI/tivx.h>
      |          ^~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/edgeai-tiovx-modules.dir/build.make:76: CMakeFiles/edgeai-tiovx-modules.dir/src/tiovx_multi_scaler_module.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/edgeai-tiovx-modules.dir/build.make:90: CMakeFiles/edgeai-tiovx-modules.dir/src/tiovx_img_mosaic_module.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/edgeai-tiovx-modules.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Please help!!

Thank you

ravi-rahul commented 1 year ago

Hi Shubham,

Can you please let me know which commit you are using? This header file is now deprecated and removed in commit b5d47c395b007dc5be6751ed90ecaef71a209d85 Please try moving to this commit

Also please share the link to bbAI64 Image you are using, I can try this out at my end

Regards Rahul T R

ss13ms110 commented 1 year ago

Hello Rahul,

Thanks for the response.

This commit works but now I encounter a new error.

debian@BeagleBone:/opt/edgeai-tiovx-modules/build$ sudo make -j2
[  6%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_color_convert_module.c.o
[  6%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_dl_color_convert_module.c.o
[  9%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_multi_scaler_module.c.o
[ 12%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_img_mosaic_module.c.o
[ 16%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_dl_pre_proc_module.c.o
[ 19%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_dl_color_blend_module.c.o
[ 22%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_sensor_module.c.o
[ 25%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_viss_module.c.o
[ 29%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_ldc_module.c.o
[ 32%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_pyramid_module.c.o
[ 35%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_dof_module.c.o
[ 38%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_dof_viz_module.c.o
[ 41%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_sde_module.c.o
[ 45%] Building C object src/CMakeFiles/edgeai-tiovx-modules.dir/tiovx_sde_viz_module.c.o
[ 48%] Linking C shared library ../../lib/Release/libedgeai-tiovx-modules.so
[ 48%] Built target edgeai-tiovx-modules
[ 51%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_color_convert_module_test.c.o
[ 54%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_dl_color_convert_module_test.c.o
[ 61%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_img_mosaic_module_test.c.o
[ 61%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_multi_scaler_module_test.c.o
[ 64%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_dl_pre_proc_module_test.c.o
[ 67%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_dl_color_blend_module_test.c.o
[ 70%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_viss_module_test.c.o
[ 74%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_ldc_module_test.c.o
[ 77%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_pyramid_module_test.c.o
[ 80%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_dof_module_test.c.o
[ 83%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_dof_viz_module_test.c.o
[ 87%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_sde_module_test.c.o
[ 90%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_sde_viz_module_test.c.o
[ 93%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/app_common.c.o
[ 96%] Building C object test/CMakeFiles/edgeai-tiovx-modules-test.dir/main.c.o
[100%] Linking C executable ../../bin/Release/edgeai-tiovx-modules-test
/usr/bin/ld: CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_sde_viz_module_test.c.o:(.bss+0x0): multiple definition of `gAppObj'; CMakeFiles/edgeai-tiovx-modules-test.dir/app_tiovx_sde_module_test.c.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [test/CMakeFiles/edgeai-tiovx-modules-test.dir/build.make:322: ../bin/Release/edgeai-tiovx-modules-test] Error 1
make[1]: *** [CMakeFiles/Makefile2:142: test/CMakeFiles/edgeai-tiovx-modules-test.dir/all] Error 2

I am using this BBAI64 image on my BBAI64 system.

I re-writing the image as I think I have been playing with it a lot and now its full of garbage.

Thank you

Best Shubham

ravi-rahul commented 1 year ago

Hi @ss13ms110

This is because of a bug in the code, Not sure why this not throwing error always May be its because of difference in gcc versions

diff --git a/test/app_tiovx_sde_module_test.c b/test/app_tiovx_sde_module_test.c
index a04324b..f2f8f1d 100644
--- a/test/app_tiovx_sde_module_test.c
+++ b/test/app_tiovx_sde_module_test.c
@@ -80,7 +80,7 @@ typedef struct {

 } AppObj;

-AppObj gAppObj;
+static AppObj gAppObj;

 static vx_status app_init(AppObj *obj);
 static void app_deinit(AppObj *obj);
diff --git a/test/app_tiovx_sde_viz_module_test.c b/test/app_tiovx_sde_viz_module_test.c
index e7ef256..1262769 100644
--- a/test/app_tiovx_sde_viz_module_test.c
+++ b/test/app_tiovx_sde_viz_module_test.c
@@ -80,7 +80,7 @@ typedef struct {

 } AppObj;

-AppObj gAppObj;
+static AppObj gAppObj;

 static vx_status app_init(AppObj *obj);
 static void app_deinit(AppObj *obj);

static is missing in couple of test modules, will fix this and push a patch

Please fix locally at your end for now

Regards Rahul T R