This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA2EVM5777: Linux Processor SDK for Vision: standalone OpenGL ES applications like kmscube

Part Number: TDA2EVM5777

Hello,

I have installed Linux Processor SDK for Vision 03.06.00.00, and I am trying to develop a standalone OpenGL ES application for TDA2x. I read on some E2E forum posts that the kmscube application available with some non-TDA Linux-based SDKs helps in this process. This kmscube application is part of the glsdk, and the glsdk is an essential component for the A15-Linux build for TDA2x. But I am not able to locate the kmscube application on my PC. Can you share the appropriate path for the same?

Thank you.

  • Hi,

    you can check in this post from where to clone the kmscube and how to build it for VisionSDK (note that you may need to modify exported variables according to your setup):
    e2e.ti.com/.../2867697

    Regards,
    Yordan
  • Hello,

    I will check the post you referred to and reply.

    Thank you.

  • Dear Yordan,

    I executed all commands from the referred forum post in my home directory. I had to do a minor modification for the PSDKLA environment variable (see below). The net result is that the 'make' command fails. The detailed shell output is shown below.

    vijender@vijender-ThinkPad-T440p:~/kmscube$ export PSDKLA=/home/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/os_tools/linux/targetfs
    ...
    ...
    ...
    
    vijender@vijender-ThinkPad-T440p:~/kmscube$ ./autogen.sh --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf --prefix=$INSTALL_PATH --with-sysroot=$PSDKLA
    autoreconf: Entering directory `.'
    autoreconf: configure.ac: not using Gettext
    autoreconf: running: aclocal 
    autoreconf: configure.ac: tracing
    autoreconf: configure.ac: not using Libtool
    autoreconf: running: /usr/bin/autoconf
    autoreconf: running: /usr/bin/autoheader
    autoreconf: running: automake --add-missing --copy --no-force
    autoreconf: Leaving directory `.'
    configure: WARNING: unrecognized options: --with-sysroot
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for arm-linux-gnueabihf-strip... arm-linux-gnueabihf-strip
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking whether to enable maintainer-specific portions of Makefiles... yes
    checking whether make supports nested variables... (cached) yes
    ./configure: line 2523: AC_PROG_LIBTOOL: command not found
    checking for arm-linux-gnueabihf-pkg-config... no
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for DRM... yes
    checking for GBM... yes
    checking for EGL... yes
    checking for GLES2... yes
    checking which warning flags were supported... checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... yes
    checking dependency style of arm-linux-gnueabihf-gcc... gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wall... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wextra... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wno-packed-bitfield-compat... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wsign-compare... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Werror-implicit-function-declaration... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wpointer-arith... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wwrite-strings... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wstrict-prototypes... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wnested-externs... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wpacked... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wswitch-enum... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wmissing-format-attribute... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wstrict-aliasing=2... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Winit-self... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wunsafe-loop-optimizations... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wdeclaration-after-statement... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wold-style-definition... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wno-missing-field-initializers... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wno-unused-parameter... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wno-attributes... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Wno-long-long... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gnueabihf-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... yes
    checking for suffix of object files... (cached) o
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking whether arm-linux-gnueabihf-gcc understands -c and -o together... (cached) yes
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking whether arm-linux-gnueabihf-gcc supports -Winline... yes
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating config.h
    config.status: config.h is unchanged
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    config.status: executing depfiles commands
    configure: WARNING: unrecognized options: --with-sysroot
    
    vijender@vijender-ThinkPad-T440p:~/kmscube$ cp targetfs/lib/libudev* targetfs/usr/lib/
    
    vijender@vijender-ThinkPad-T440p:~/kmscube$ make
    make  all-am
    make[1]: Entering directory '/home/vijender/kmscube'
      CC       kmscube-kmscube.o
    kmscube.c: In function 'init_gl':
    kmscube.c:554:29: warning: passing argument 1 of 'eglGetDisplay' makes integer from pointer without a cast [-Wint-conversion]
      gl.display = eglGetDisplay(gbm.dev);
                                 ^
    In file included from esUtil.h:46:0,
                     from kmscube.c:44:
    /home/vijender/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/os_tools/linux/targetfs/usr/include/EGL/egl.h:255:31: note: expected 'EGLNativeDisplayType {aka int}' but argument is of type 'struct gbm_device *'
     EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id);
                                   ^
    kmscube.c: In function 'exit_drm':
    kmscube.c:718:36: warning: passing argument 1 of 'drmModeFreeEncoder' makes pointer from integer without a cast [-Wint-conversion]
                     drmModeFreeEncoder(drm.encoder[i]);
                                        ^
    In file included from kmscube.c:40:0:
    /home/vijender/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/os_tools/linux/targetfs/usr/include/xf86drmMode.h:343:13: note: expected 'drmModeEncoderPtr {aka struct _drmModeEncoder *}' but argument is of type 'uint32_t {aka unsigned int}'
     extern void drmModeFreeEncoder( drmModeEncoderPtr ptr );
                 ^
    kmscube.c:721:30: warning: passing argument 1 of 'drmModeFreeResources' makes pointer from integer without a cast [-Wint-conversion]
             drmModeFreeResources(drm.resource_id);
                                  ^
    In file included from kmscube.c:40:0:
    /home/vijender/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/os_tools/linux/targetfs/usr/include/xf86drmMode.h:339:13: note: expected 'drmModeResPtr {aka struct _drmModeRes *}' but argument is of type 'uint32_t {aka unsigned int}'
     extern void drmModeFreeResources( drmModeResPtr ptr );
                 ^
    kmscube.c: In function 'main':
    kmscube.c:873:17: warning: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
      signal(SIGINT, kms_signalhandler);
                     ^
    In file included from kmscube.c:37:0:
    /home/vijender/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/os_tools/linux/targetfs/usr/include/signal.h:102:23: note: expected '__sighandler_t {aka void (*)(int)}' but argument is of type 'int (*)(int)'
     extern __sighandler_t signal (int __sig, __sighandler_t __handler)
                           ^
    kmscube.c:874:18: warning: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
      signal(SIGTERM, kms_signalhandler);
                      ^
    In file included from kmscube.c:37:0:
    /home/vijender/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/os_tools/linux/targetfs/usr/include/signal.h:102:23: note: expected '__sighandler_t {aka void (*)(int)}' but argument is of type 'int (*)(int)'
     extern __sighandler_t signal (int __sig, __sighandler_t __handler)
                           ^
      CC       kmscube-esTransform.o
      CCLD     kmscube
    arm-linux-gnueabihf-gcc: error: unrecognized command line option '-no-undefined'
    Makefile:435: recipe for target 'kmscube' failed
    make[1]: *** [kmscube] Error 1
    make[1]: Leaving directory '/home/vijender/kmscube'
    Makefile:339: recipe for target 'all' failed
    make: *** [all] Error 2
    
    vijender@vijender-ThinkPad-T440p:~/kmscube$ 
    

    I have two questions:

    1. I executed all commands from within the 'kmscube' directory. Is this the correct procedure?

    2. While executing the 'autogen' script, we typed "--prefix=$INSTALL_PATH"...where is this variable set? Or do we need to set it ourselves before executing the script?

    Thank you.

  • Hi Sagar,

    I am not sure how $INSTALL_PATH is used by kmscube, but in general --prefix argument is used by ./configure command to specify where compiled program is installed by 'make install' command. Maybe in your case it should be the /usr directory of you targetfs.

    It seems that the problem is with unrecognized "-no-undefined" option. The linux "ld" command (and it should be the same for the arm toolchain) has "--no-undefined" option. Can you try to modify the Makefile.am file in kmscube directory and change the value of kmscube_LDFLAGS variable from "-no-undefined" to "--no-undefined" and again run autogen script and make command.

    Regards,
    Yordan
  • Hello,

    We ran the same procedure on a fresh PC and it worked fine. It is not required to set the INSTALL_PATH variable; the relevant scripts must handle it internally somehow.

    Since the original issue related to obtaining kmscube is resolved, I am closing this thread.

    Thank you very much for your help.