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.

DVSDK 3.10 not finding a file during compile

I've been working with DVSDK 3.10.00.19 for a few months now, modifying the dm365 demos for a project.  From within the dvsdk_3_10_00_19 directory, I've repeatedly called:
make demos_clean
make demos
-or-
make clean
make
depending on what I wanted to rebuild (we've been making a few changes in DMAI as well).

Compiling has been working fine until a few days ago it stopped compiling for me.  When I just run "make," it gives me the following output:

Checking that components in Rules.make are found:
Done checking! If no warning messages above, all components are found..
make -C /home/carlsojs/dvsdk/dvsdk_3_10_00_19/linuxutils_2_25_04_10/packages/ti/sdo/linuxutils/cmem/src/interface ../../lib/cmem.a470MV RULES_MAKE=/home/carlsojs/dvsdk/dvsdk_3_10_00_19/Rules.make
make[1]: Entering directory `/home/carlsojs/dvsdk/dvsdk_3_10_00_19/linuxutils_2_25_04_10/packages/ti/sdo/linuxutils/cmem/src/interface'
make[1]: `../../lib/cmem.a470MV' is up to date.
make[1]: Leaving directory `/home/carlsojs/dvsdk/dvsdk_3_10_00_19/linuxutils_2_25_04_10/packages/ti/sdo/linuxutils/cmem/src/interface'
make -C /home/carlsojs/dvsdk/dvsdk_3_10_00_19/linuxutils_2_25_04_10/packages/ti/sdo/linuxutils/cmem/src/module
RULES_MAKE=/home/carlsojs/dvsdk/dvsdk_3_10_00_19/Rules.make
make[1]: Entering directory `/home/carlsojs/dvsdk/dvsdk_3_10_00_19/linuxutils_2_25_04_10/packages/ti/sdo/linuxutils/cmem/src/module'
make -C /home/carlsojs/dvsdk/dvsdk_3_10_00_19/../git M=`pwd` ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- \
EXTRA_CFLAGS="-DUSE_UDEV=1 -DMAX_POOLS=128" modules
make[2]: Entering directory `/home/carlsojs/dvsdk/git'
  Building modules, stage 2.
  MODPOST 1 modules
make[2]: Leaving directory `/home/carlsojs/dvsdk/git'
make[1]: Leaving directory `/home/carlsojs/dvsdk/dvsdk_3_10_00_19/linuxutils_2_25_04_10/packages/ti/sdo/linuxutils/cmem/src/module'
cmemk.ko kernel module can be found under /home/carlsojs/dvsdk/dvsdk_3_10_00_19/kernel_binaries/dm365
make -C /home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module KERNEL_DIR=/home/carlsojs/dvsdk/dvsdk_3_10_00_19/../git
make[1]: Entering directory `/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module'
make -C /home/carlsojs/dvsdk/dvsdk_3_10_00_19/../git M=`pwd` ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- \
EXTRA_CFLAGS="-DUSE_UDEV=0 -DMAX_POOLS=10" modules
make[2]: Entering directory `/home/carlsojs/dvsdk/git'
  CC [M]  /home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.o
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:46:23: error: mach/edma.h: No such file or directory
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c: In function 'ioctl':
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:147: error: storage size of 'p_ram' isn't known
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:175: error: implicit declaration of function 'edma_alloc_channel'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:175: error: 'EDMA_CHANNEL_ANY' undeclared (first use in this function)
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:175: error: (Each undeclared identifier is reported only once
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:175: error: for each function it appears in.)
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:176: error: 'EVENTQ_DEFAULT' undeclared (first use in this function)
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:186: error: implicit declaration of function 'edma_stop'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:190: error: implicit declaration of function 'edma_set_src'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:194: error: implicit declaration of function 'edma_set_dest'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:198: error: implicit declaration of function 'edma_set_src_index'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:200: error: implicit declaration of function 'edma_set_dest_index'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:203: error: implicit declaration of function 'edma_set_transfer_params'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:209: error: implicit declaration of function 'edma_read_slot'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:210: error: 'TCINTEN' undeclared (first use in this function)
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:210: error: implicit declaration of function 'EDMA_TCC'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:211: error: implicit declaration of function 'edma_write_slot'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:213: error: implicit declaration of function 'edma_start'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:216: error: implicit declaration of function 'edma_free_channel'
/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.c:147: warning: unused variable 'p_ram'
make[3]: *** [/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module/dm365mmap.o] Error 1
make[2]: *** [_module_/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module] Error 2
make[2]: Leaving directory `/home/carlsojs/dvsdk/git'
make[1]: *** [release] Error 2
make[1]: Leaving directory `/home/carlsojs/dvsdk/dvsdk_3_10_00_19/dm365mm_01_00_03/module'
make: *** [dmammapk] Error 2

It appears that it suddenly can't find the "edma.h" file.  Assuming I've got the right one, this should be the file at /home/carlsojs/dvsdk/git/arch/arm/mach-davinci/include/mach/edma.h, right?  I have that file in that location.  I've also checked the Rules.make file in the dvsdk_3_10_00_19 folder and none of the paths to various directories has changed in that file; they appear correct to me.

I've also deleted the dvsdk_3_10_00_19 folder and the git folder and reinstalled both, and I'm still getting the same error.

Also, we haven't touched anything in the same folder as edma.h, or in the "dvsdk_3_10_00_19/dm365mm_01_00_03/"   directory.

Does anyone have a suggestion as to why the compiler suddenly can't find this file that to me looks like it is right where it should be?
Thanks,
Joel 

  • Just wanted to post that I solved my problem, should anyone else encounter it and come across this thread.

    I had run a "make clean" and a "make linux_clean" in the dvsdk directory.  I then made some changes to the linux configuration via menuconfig (simply adding USB-serial support).  I then did "make linux."  Then I tried to run just "make" in the dvsdk directory and got the error I described above.

    I ran "make linux_clean" again (which removes all my menuconfig customizations - is this intentional?) and then "make linux" with no modifications.  Then when I run just "make" I don't get the errors above.

    I'm not completely certain how the error is showing up, but somehow when I have nothing built and everything cleaned, modifying the kernel from the default configuration and then building the other dvsdk files doesn't work.  If I do a default kernel configuration build, then build the other dvsdk files, then rebuild the kernel with modifications, I can then continue to modify dvsdk files and rebuild with no problems.