HI Again,
I'm up and running, It's now time for me to start to write some code. I'm intending on moding the demo code. so first thing to do is to be able to compile the original code.
I've changed the make.rules file and then ran the make instruction.
It seems to have mostly worked but there is a error message. I've copied the ouput below
There is an Error 2 code at the bottom. has any one got any ideas? root@192.168.11.3:/opt/dvsdk_1_30_01_41/demos/dm355# make make: Warning: File `../../Rules.make' has modification time 1.2e+09 s in the future Making all in subdirectory utils... make[1]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils' make[1]: Warning: File `Makefile' has modification time 1.2e+09 s in the future Making all in subdirectory msp430lib... make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/msp430lib' make[2]: Warning: File `../../../../Rules.make' has modification time 1.2e+09 s in the future make[2]: warning: Clock skew detected. Your build may be incomplete. make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/msp430lib' Making all in subdirectory simplewidget... make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/simplewidget' make[2]: Warning: File `../../../../Rules.make' has modification time 1.2e+09 s in the future make[2]: warning: Clock skew detected. Your build may be incomplete. make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/simplewidget' Making all in subdirectory fifoutil... make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/fifoutil' make[2]: Warning: File `../../../../Rules.make' has modification time 1.2e+09 s in the future make[2]: Nothing to be done for `all'. make[2]: warning: Clock skew detected. Your build may be incomplete. make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/fifoutil' Making all in subdirectory rendezvous... make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/rendezvous' make[2]: Warning: File `../../../../Rules.make' has modification time 1.2e+09 s in the future make[2]: Nothing to be done for `all'. make[2]: warning: Clock skew detected. Your build may be incomplete. make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/rendezvous' Making all in subdirectory timerutil... make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/timerutil' make[2]: Warning: File `../../../../Rules.make' has modification time 1.2e+09 s in the future make[2]: Nothing to be done for `all'. make[2]: warning: Clock skew detected. Your build may be incomplete. make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/timerutil' Making all in subdirectory smooth... make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/smooth' make[2]: Warning: File `../../../../Rules.make' has modification time 1.2e+09 s in the future make[2]: warning: Clock skew detected. Your build may be incomplete. make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/smooth' Making all in subdirectory pause... make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/pause' make[2]: Warning: File `../../../../Rules.make' has modification time 1.2e+09 s in the future make[2]: Nothing to be done for `all'. make[2]: warning: Clock skew detected. Your build may be incomplete. make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/pause' Making all in subdirectory rszcopy... make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/rszcopy' make[2]: Warning: File `../../../../Rules.make' has modification time 1.2e+09 s in the future make[2]: warning: Clock skew detected. Your build may be incomplete. make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/rszcopy' make[1]: warning: Clock skew detected. Your build may be incomplete. make[1]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils' Making all in subdirectory decode... make[1]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/decode' Makefile:20: *** missing separator. Stop. make[1]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/decode' make: *** [decode] Error 2
There is an Error 2 code at the bottom. has any one got any ideas?
root@192.168.11.3:/opt/dvsdk_1_30_01_41/demos/dm355# make
make: Warning: File `../../Rules.make' has modification time 1.2e+09 s in the future
Making all in subdirectory utils...
make[1]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils'
make[1]: Warning: File `Makefile' has modification time 1.2e+09 s in the future
Making all in subdirectory msp430lib...
make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/msp430lib'
make[2]: Warning: File `../../../../Rules.make' has modification time 1.2e+09 s in the future
make[2]: warning: Clock skew detected. Your build may be incomplete.
make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/msp430lib'
Making all in subdirectory simplewidget...
make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/simplewidget'
make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/simplewidget'
Making all in subdirectory fifoutil...
make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/fifoutil'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/fifoutil'
Making all in subdirectory rendezvous...
make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/rendezvous'
make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/rendezvous'
Making all in subdirectory timerutil...
make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/timerutil'
make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/timerutil'
Making all in subdirectory smooth...
make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/smooth'
make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/smooth'
Making all in subdirectory pause...
make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/pause'
make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/pause'
Making all in subdirectory rszcopy...
make[2]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/rszcopy'
make[2]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils/rszcopy'
make[1]: warning: Clock skew detected. Your build may be incomplete.
make[1]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/utils'
Making all in subdirectory decode...
make[1]: Entering directory `/opt/dvsdk_1_30_01_41/demos/dm355/decode'
Makefile:20: *** missing separator. Stop.
make[1]: Leaving directory `/opt/dvsdk_1_30_01_41/demos/dm355/decode'
make: *** [decode] Error 2
beardybloke:
Are you compiling this over an NFS mount or Samba? The clock skew messages seems strange to me. However, I don't know if that is getting in your way.
Would you post (attach) your Rules.make?
Brandon
Additionally, please note that you should first build the entire tree (this is actually a step in the Getting Started Guide) before attempting to build the demos directory individually. In the past, I have found the demos can have dependencies on other components that may lead to failure (probably at link time), althought the log above does not appear to exhibit this scenerio. But it does not hurt to build entire tree to be on the safe side.
Also, sometimes directory permissions can get in the way (e.g. you are logged in as "user" and some directories may have "root" permissions). I have found that error messages in this scenerio are not always clear it is a permission issue.
The missing seperator error means there is a bug in the Makefile, in particular that you have spaces instead of a tab before a command line or there are carrige returns where there should not be, did you ever try to edit the Makefile in the decode directory from perhaps a Windows editor? For fixing this you may want to open that Makefile in a text editor that can show you the special characters and see if there is anything different about line 20 versus the rest of the lines in the file.
I've attached my rules.make file.
I'm running this file over the NFS mount.
I think your right about the clock screw messages, they are only warnings not errors.
As I'm running this from the DM355 directory i would imagine that it is compiling the whole lot not just one file.
I assume I have the rules.make file correct as it is goibg into the directories to compile them.
# # This make variable must be set before the demos or examples # can be built. It must be set to either dm355 or dm6446 # PLATFORM = dm355 ifndef PLATFORM $(error PLATFORM must be set in Rules.make to dm355 or dm6446 before building the demos) endif # The installation directory of the DVSDK dvsdk_1_30_01_41. DVSDK_INSTALL_DIR=$(HOME)/workdir/filesys/opt/dvsdk_1_30_01_41 # For backwards compatibility DVEVM_INSTALL_DIR=$(DVSDK_INSTALL_DIR) # Where the Codec Engine package is installed. CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec_engine_2_00_01 # Where the XDAIS package is installed. XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_00_01 # Where the DSP Link package is installed. LINK_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dsplink_140-05p1 # Where the CMEM (contiguous memory allocator) package is installed. CMEM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/cmem_2_00_01 # Where the codec servers are installed (dm6446) or codecs (dm355) ifneq ($(PLATFORM),dm355) CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm6446_dvsdk_combos_1_35 else CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm355_codecs_1_12_003 endif # Where the RTSC tools package is installed. XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdc_3_00_02 # Where Framework Components product is installed FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework_components_2_00_01 # Where DSP/BIOS is installed BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_31_08 # The directory that points to your kernel source directory. LINUXKERNEL_INSTALL_DIR=$(HOME)/lsp/ti-davinci # The prefix to be added before the GNU compiler tools (optionally including # path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-". MVTOOL_DIR=/db/toolsrc/library/vendors2005/mvl/arm/mvl4.0.1-root-new//montavista/pro/devkit/arm/v5t_le MVTOOL_PREFIX=$(MVTOOL_DIR)/bin/arm_v5t_le- # Where to copy the resulting executables and data to (when executing 'make # install') in a proper file structure. This EXEC_DIR should either be visible # from the target, or you will have to copy this (whole) directory onto the # target filesystem. EXEC_DIR=$(HOME)/workdir/filesys/opt/dvsdk/$(PLATFORM)
#
# This make variable must be set before the demos or examples
# can be built. It must be set to either dm355 or dm6446
PLATFORM = dm355
ifndef PLATFORM
$(error PLATFORM must be set in Rules.make to dm355 or dm6446 before building the demos)
endif
# The installation directory of the DVSDK dvsdk_1_30_01_41.
DVSDK_INSTALL_DIR=$(HOME)/workdir/filesys/opt/dvsdk_1_30_01_41
# For backwards compatibility
DVEVM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)
# Where the Codec Engine package is installed.
CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec_engine_2_00_01
# Where the XDAIS package is installed.
XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_00_01
# Where the DSP Link package is installed.
LINK_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dsplink_140-05p1
# Where the CMEM (contiguous memory allocator) package is installed.
CMEM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/cmem_2_00_01
# Where the codec servers are installed (dm6446) or codecs (dm355)
ifneq ($(PLATFORM),dm355)
CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm6446_dvsdk_combos_1_35
else
CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm355_codecs_1_12_003
# Where the RTSC tools package is installed.
XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdc_3_00_02
# Where Framework Components product is installed
FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework_components_2_00_01
# Where DSP/BIOS is installed
BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_31_08
# The directory that points to your kernel source directory.
LINUXKERNEL_INSTALL_DIR=$(HOME)/lsp/ti-davinci
# The prefix to be added before the GNU compiler tools (optionally including
# path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-".
MVTOOL_DIR=/db/toolsrc/library/vendors2005/mvl/arm/mvl4.0.1-root-new//montavista/pro/devkit/arm/v5t_le
MVTOOL_PREFIX=$(MVTOOL_DIR)/bin/arm_v5t_le-
# Where to copy the resulting executables and data to (when executing 'make
# install') in a proper file structure. This EXEC_DIR should either be visible
# from the target, or you will have to copy this (whole) directory onto the
# target filesystem.
EXEC_DIR=$(HOME)/workdir/filesys/opt/dvsdk/$(PLATFORM)
Forget about the clock screw errors...
If I run the make file direct from the PC, not vis the EVM board I don't get them but I still get the final error.
Sorted I think
Can some one just tell me if this is correct please?
[root@localhost dm355]# make Making all in subdirectory utils... make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils' Making all in subdirectory msp430lib... make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/msp430lib' make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/msp430lib' Making all in subdirectory simplewidget... make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/simplewidget' make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/simplewidget' Making all in subdirectory fifoutil... make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/fifoutil' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/fifoutil' Making all in subdirectory rendezvous... make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/rendezvous' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/rendezvous' Making all in subdirectory timerutil... make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/timerutil' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/timerutil' Making all in subdirectory smooth... make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/smooth' make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/smooth' Making all in subdirectory pause... make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/pause' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/pause' Making all in subdirectory rszcopy... make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/rszcopy' make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/rszcopy' make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils' Making all in subdirectory decode... make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/decode' echo echo make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/decode' Making all in subdirectory encode... make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/encode' make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/encode' Making all in subdirectory encodedecode... make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/encodedecode' make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/encodedecode' Making all in subdirectory interface... make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/interface' make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/interface' Making all in subdirectory data... make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/data' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/data'
[root@localhost dm355]# make
make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils'
make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/msp430lib'
make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/msp430lib'
make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/simplewidget'
make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/simplewidget'
make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/fifoutil'
make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/fifoutil'
make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/rendezvous'
make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/rendezvous'
make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/timerutil'
make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/timerutil'
make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/smooth'
make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/smooth'
make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/pause'
make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/pause'
make[2]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/rszcopy'
make[2]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils/rszcopy'
make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/utils'
make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/decode'
echo
make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/decode'
Making all in subdirectory encode...
make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/encode'
make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/encode'
Making all in subdirectory encodedecode...
make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/encodedecode'
make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/encodedecode'
Making all in subdirectory interface...
make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/interface'
make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/interface'
Making all in subdirectory data...
make[1]: Entering directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/data'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/demos/dm355/data'
Going well -ish this morning
I think the make -install all worked. no erros any way.
So I added a printf() line into the main code in the decode project
And then ran make
Obviously this time it tried to do a full compile of the project.
First error was it could not find the compiler. sorted that one. But now I'm left with a list of errors. I think they are all to do with the PATHS in rules.make as was the compiler error.
I've put my new rules.make at the bottom of this page. I have noticed that xdc_3_00_02 is now xdc_3_00_02_11.
Another error in the rules.make file is that most of my files are in /packages directories where this is not mentioned in the original lines?
echo Compiling debug/main.o from main.c.. Compiling debug/main.o from main.c.. main.c:26:35: video/davincifb_ioctl.h: No such file or directory main.c:29:21: xdc/std.h: No such file or directory main.c:30:32: ti/sdo/ce/trace/gt.h: No such file or directory main.c:31:33: ti/sdo/ce/CERuntime.h: No such file or directory main.c:32:45: ti/sdo/ce/utils/trace/TraceUtil.h: No such file or directory main.c:35:24: rendezvous.h: No such file or directory main.c:36:22: fifoutil.h: No such file or directory main.c:37:19: pause.h: No such file or directory In file included from main.c:39: display.h:32: error: parse error before "Rendezvous_Handle" display.h:32: warning: no semicolon at end of struct or union display.h:33: warning: type defaults to `int' in declaration of `hRendezvousCleanup' display.h:33: warning: data definition has no type or storage class display.h:34: error: parse error before "hRendezvousPrime" display.h:34: warning: type defaults to `int' in declaration of `hRendezvousPrime' display.h:34: warning: data definition has no type or storage class display.h:35: error: parse error before "hPause" display.h:35: warning: type defaults to `int' in declaration of `hPause' display.h:35: warning: data definition has no type or storage class display.h:36: error: parse error before "outFifo" display.h:36: warning: type defaults to `int' in declaration of `outFifo' display.h:36: warning: data definition has no type or storage class display.h:37: error: parse error before "inFifo" display.h:37: warning: type defaults to `int' in declaration of `inFifo' display.h:37: warning: data definition has no type or storage class display.h:38: warning: type defaults to `int' in declaration of `DisplayEnv' display.h:38: warning: data definition has no type or storage class In file included from main.c:40: video.h:20: error: parse error before "Rendezvous_Handle" video.h:20: warning: no semicolon at end of struct or union video.h:21: warning: type defaults to `int' in declaration of `hRendezvousCleanup' video.h:21: warning: data definition has no type or storage class video.h:22: error: parse error before "hRendezvousPrime" video.h:22: warning: type defaults to `int' in declaration of `hRendezvousPrime' video.h:22: warning: data definition has no type or storage class video.h:23: error: parse error before "hPause" video.h:23: warning: type defaults to `int' in declaration of `hPause' video.h:23: warning: data definition has no type or storage class video.h:24: error: parse error before "hDisplayInFifo" video.h:24: warning: type defaults to `int' in declaration of `hDisplayInFifo' video.h:24: warning: data definition has no type or storage class video.h:25: error: parse error before "hDisplayOutFifo" video.h:25: warning: type defaults to `int' in declaration of `hDisplayOutFifo' video.h:25: warning: data definition has no type or storage class video.h:29: error: parse error before '}' token video.h:29: warning: type defaults to `int' in declaration of `VideoEnv' video.h:29: warning: data definition has no type or storage class In file included from main.c:41: audio.h:20: error: parse error before "Rendezvous_Handle" audio.h:20: warning: no semicolon at end of struct or union audio.h:21: warning: type defaults to `int' in declaration of `hRendezvousCleanup' audio.h:21: warning: data definition has no type or storage class audio.h:22: error: parse error before "hPause" audio.h:22: warning: type defaults to `int' in declaration of `hPause' audio.h:22: warning: data definition has no type or storage class audio.h:26: error: parse error before '}' token audio.h:26: warning: type defaults to `int' in declaration of `AudioEnv' audio.h:26: warning: data definition has no type or storage class In file included from main.c:42: speech.h:20: error: parse error before "Rendezvous_Handle" speech.h:20: warning: no semicolon at end of struct or union speech.h:21: warning: type defaults to `int' in declaration of `hRendezvousCleanup' speech.h:21: warning: data definition has no type or storage class speech.h:22: error: parse error before "hPause" speech.h:22: warning: type defaults to `int' in declaration of `hPause' speech.h:22: warning: data definition has no type or storage class speech.h:26: error: parse error before '}' token speech.h:26: warning: type defaults to `int' in declaration of `SpeechEnv' speech.h:26: warning: data definition has no type or storage class In file included from main.c:43: ctrl.h:23: error: parse error before "Rendezvous_Handle" ctrl.h:23: warning: no semicolon at end of struct or union ctrl.h:24: warning: type defaults to `int' in declaration of `hRendezvousCleanup' ctrl.h:24: warning: data definition has no type or storage class ctrl.h:28: error: parse error before "hPause" ctrl.h:28: warning: type defaults to `int' in declaration of `hPause' ctrl.h:28: warning: data definition has no type or storage class ctrl.h:33: error: 'time' redeclared as different kind of symbol /opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/time.h:184: error: previous declaration of 'time' was here ctrl.h:33: error: 'time' redeclared as different kind of symbol /opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/time.h:184: error: previous declaration of 'time' was here ctrl.h:34: error: parse error before '}' token ctrl.h:34: warning: type defaults to `int' in declaration of `CtrlEnv' ctrl.h:34: warning: data definition has no type or storage class main.c: In function `main': main.c:270: error: `Rendezvous_Obj' undeclared (first use in this function) main.c:270: error: (Each undeclared identifier is reported only once main.c:270: error: for each function it appears in.) main.c:270: error: parse error before "rendezvousInit" main.c:273: error: `Pause_Obj' undeclared (first use in this function) main.c:278: error: parse error before "displayEnv" main.c:322: warning: implicit declaration of function `CERuntime_init' main.c:334: warning: implicit declaration of function `Pause_open' main.c:354: warning: implicit declaration of function `Rendezvous_open' main.c:354: error: `rendezvousInit' undeclared (first use in this function) main.c:361: error: `rendezvousCleanup' undeclared (first use in this function) main.c:368: error: `rendezvousPrime' undeclared (first use in this function) main.c:395: warning: implicit declaration of function `FifoUtil_open' main.c:395: error: `displayEnv' undeclared (first use in this function) main.c:396: error: `FIFOUTIL_FAILURE' undeclared (first use in this function) main.c:442: error: `videoEnv' undeclared (first use in this function) main.c:470: error: `speechEnv' undeclared (first use in this function) main.c:495: error: `audioEnv' undeclared (first use in this function) main.c:511: error: `ctrlEnv' undeclared (first use in this function) main.c:531: warning: implicit declaration of function `Rendezvous_force' main.c:534: warning: implicit declaration of function `Pause_off' main.c:570: warning: implicit declaration of function `FifoUtil_close' main.c:578: warning: implicit declaration of function `Rendezvous_close' main.c:590: warning: implicit declaration of function `Pause_close' make: *** [debug/main.o] Error 1 [root@localhost decode]# rules.make # # This make variable must be set before the demos or examples # can be built. It must be set to either dm355 or dm6446 # PLATFORM = dm355 ifndef PLATFORM $(error PLATFORM must be set in Rules.make to dm355 or dm6446 before building the demos) endif # The installation directory of the DVSDK dvsdk_1_30_01_41. DVSDK_INSTALL_DIR=$/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41 #added /home # For backwards compatibility DVEVM_INSTALL_DIR=$(DVSDK_INSTALL_DIR) # Where the Codec Engine package is installed. CE_INS# # This make variable must be set before the demos or examples # can be built. It must be set to either dm355 or dm6446 # PLATFORM = dm355 ifndef PLATFORM $(error PLATFORM must be set in Rules.make to dm355 or dm6446 before building the demos) endif # The installation directory of the DVSDK dvsdk_1_30_01_41. DVSDK_INSTALL_DIR=$/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41 #added /home # For backwards compatibility DVEVM_INSTALL_DIR=$(DVSDK_INSTALL_DIR) # Where the Codec Engine package is installed. CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec_engine_2_00_01/packages #altered added /packages # Where the XDAIS package is installed. XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_00_01 # Where the DSP Link package is installed. LINK_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dsplink_140-05p1 # Where the CMEM (contiguous memory allocator) package is installed. CMEM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/cmem_2_00_01 # Where the codec servers are installed (dm6446) or codecs (dm355) ifneq ($(PLATFORM),dm355) CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm6446_dvsdk_combos_1_35 else CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm355_codecs_1_12_003 endif # Where the RTSC tools package is installed. # old XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdc_3_00_02_11 XDC_INSTALL_DIR=$/opt/mv_pro_4.0.1/xdc_3_00_02_11 # Where Framework Components product is installed FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework_components_2_00_01 # Where DSP/BIOS is installed BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_31_08 # The directory that points to your kernel source directory. LINUXKERNEL_INSTALL_DIR=$(HOME)/lsp/ti-davinci # The prefix to be added before the GNU compiler tools (optionally including # path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-". #MVTOOL_DIR=/db/toolsrc/library/vendors2005/mvl/arm/mvl4.0.1-root-new//montavista/pro/devkit/arm/v5t_le MVTOOL_DIR=/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le MVTOOL_PREFIX=$(MVTOOL_DIR)/bin/arm_v5t_le- # Where to copy the resulting executables and data to (when executing 'make # install') in a proper file structure. This EXEC_DIR should either be visible # from the target, or you will have to copy this (whole) directory onto the # target filesystem. EXEC_DIR=$(HOME)/workdir/filesys/opt/dvsdk/$(PLATFORM)TALL_DIR=$(DVSDK_INSTALL_DIR)/codec_engine_2_00_01/packages #altered added /packages # Where the XDAIS package is installed. XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_00_01 # Where the DSP Link package is installed. LINK_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dsplink_140-05p1 # Where the CMEM (contiguous memory allocator) package is installed. CMEM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/cmem_2_00_01 # Where the codec servers are installed (dm6446) or codecs (dm355) ifneq ($(PLATFORM),dm355) CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm6446_dvsdk_combos_1_35 else CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm355_codecs_1_12_003 endif # Where the RTSC tools package is installed. # old XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdc_3_00_02 XDC_INSTALL_DIR=$/opt/mv_pro_4.0.1/xdc_3_00_02_11 # Where Framework Components product is installed FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework_components_2_00_01 # Where DSP/BIOS is installed BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_31_08 # The directory that points to your kernel source directory. LINUXKERNEL_INSTALL_DIR=$(HOME)/lsp/ti-davinci # The prefix to be added before the GNU compiler tools (optionally including # path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-". #MVTOOL_DIR=/db/toolsrc/library/vendors2005/mvl/arm/mvl4.0.1-root-new//montavista/pro/devkit/arm/v5t_le MVTOOL_DIR=/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le MVTOOL_PREFIX=$(MVTOOL_DIR)/bin/arm_v5t_le- # Where to copy the resulting executables and data to (when executing 'make # install') in a proper file structure. This EXEC_DIR should either be visible # from the target, or you will have to copy this (whole) directory onto the # target filesystem. EXEC_DIR=$(HOME)/workdir/filesys/opt/dvsdk/$(PLATFORM)
echo Compiling debug/main.o from main.c..
Compiling debug/main.o from main.c..
main.c:26:35: video/davincifb_ioctl.h: No such file or directory
main.c:29:21: xdc/std.h: No such file or directory
main.c:30:32: ti/sdo/ce/trace/gt.h: No such file or directory
main.c:31:33: ti/sdo/ce/CERuntime.h: No such file or directory
main.c:32:45: ti/sdo/ce/utils/trace/TraceUtil.h: No such file or directory
main.c:35:24: rendezvous.h: No such file or directory
main.c:36:22: fifoutil.h: No such file or directory
main.c:37:19: pause.h: No such file or directory
In file included from main.c:39:
display.h:32: error: parse error before "Rendezvous_Handle"
display.h:32: warning: no semicolon at end of struct or union
display.h:33: warning: type defaults to `int' in declaration of `hRendezvousCleanup'
display.h:33: warning: data definition has no type or storage class
display.h:34: error: parse error before "hRendezvousPrime"
display.h:34: warning: type defaults to `int' in declaration of `hRendezvousPrime'
display.h:34: warning: data definition has no type or storage class
display.h:35: error: parse error before "hPause"
display.h:35: warning: type defaults to `int' in declaration of `hPause'
display.h:35: warning: data definition has no type or storage class
display.h:36: error: parse error before "outFifo"
display.h:36: warning: type defaults to `int' in declaration of `outFifo'
display.h:36: warning: data definition has no type or storage class
display.h:37: error: parse error before "inFifo"
display.h:37: warning: type defaults to `int' in declaration of `inFifo'
display.h:37: warning: data definition has no type or storage class
display.h:38: warning: type defaults to `int' in declaration of `DisplayEnv'
display.h:38: warning: data definition has no type or storage class
In file included from main.c:40:
video.h:20: error: parse error before "Rendezvous_Handle"
video.h:20: warning: no semicolon at end of struct or union
video.h:21: warning: type defaults to `int' in declaration of `hRendezvousCleanup'
video.h:21: warning: data definition has no type or storage class
video.h:22: error: parse error before "hRendezvousPrime"
video.h:22: warning: type defaults to `int' in declaration of `hRendezvousPrime'
video.h:22: warning: data definition has no type or storage class
video.h:23: error: parse error before "hPause"
video.h:23: warning: type defaults to `int' in declaration of `hPause'
video.h:23: warning: data definition has no type or storage class
video.h:24: error: parse error before "hDisplayInFifo"
video.h:24: warning: type defaults to `int' in declaration of `hDisplayInFifo'
video.h:24: warning: data definition has no type or storage class
video.h:25: error: parse error before "hDisplayOutFifo"
video.h:25: warning: type defaults to `int' in declaration of `hDisplayOutFifo'
video.h:25: warning: data definition has no type or storage class
video.h:29: error: parse error before '}' token
video.h:29: warning: type defaults to `int' in declaration of `VideoEnv'
video.h:29: warning: data definition has no type or storage class
In file included from main.c:41:
audio.h:20: error: parse error before "Rendezvous_Handle"
audio.h:20: warning: no semicolon at end of struct or union
audio.h:21: warning: type defaults to `int' in declaration of `hRendezvousCleanup'
audio.h:21: warning: data definition has no type or storage class
audio.h:22: error: parse error before "hPause"
audio.h:22: warning: type defaults to `int' in declaration of `hPause'
audio.h:22: warning: data definition has no type or storage class
audio.h:26: error: parse error before '}' token
audio.h:26: warning: type defaults to `int' in declaration of `AudioEnv'
audio.h:26: warning: data definition has no type or storage class
In file included from main.c:42:
speech.h:20: error: parse error before "Rendezvous_Handle"
speech.h:20: warning: no semicolon at end of struct or union
speech.h:21: warning: type defaults to `int' in declaration of `hRendezvousCleanup'
speech.h:21: warning: data definition has no type or storage class
speech.h:22: error: parse error before "hPause"
speech.h:22: warning: type defaults to `int' in declaration of `hPause'
speech.h:22: warning: data definition has no type or storage class
speech.h:26: error: parse error before '}' token
speech.h:26: warning: type defaults to `int' in declaration of `SpeechEnv'
speech.h:26: warning: data definition has no type or storage class
In file included from main.c:43:
ctrl.h:23: error: parse error before "Rendezvous_Handle"
ctrl.h:23: warning: no semicolon at end of struct or union
ctrl.h:24: warning: type defaults to `int' in declaration of `hRendezvousCleanup'
ctrl.h:24: warning: data definition has no type or storage class
ctrl.h:28: error: parse error before "hPause"
ctrl.h:28: warning: type defaults to `int' in declaration of `hPause'
ctrl.h:28: warning: data definition has no type or storage class
ctrl.h:33: error: 'time' redeclared as different kind of symbol
/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/time.h:184: error: previous declaration of 'time' was here
ctrl.h:34: error: parse error before '}' token
ctrl.h:34: warning: type defaults to `int' in declaration of `CtrlEnv'
ctrl.h:34: warning: data definition has no type or storage class
main.c: In function `main':
main.c:270: error: `Rendezvous_Obj' undeclared (first use in this function)
main.c:270: error: (Each undeclared identifier is reported only once
main.c:270: error: for each function it appears in.)
main.c:270: error: parse error before "rendezvousInit"
main.c:273: error: `Pause_Obj' undeclared (first use in this function)
main.c:278: error: parse error before "displayEnv"
main.c:322: warning: implicit declaration of function `CERuntime_init'
main.c:334: warning: implicit declaration of function `Pause_open'
main.c:354: warning: implicit declaration of function `Rendezvous_open'
main.c:354: error: `rendezvousInit' undeclared (first use in this function)
main.c:361: error: `rendezvousCleanup' undeclared (first use in this function)
main.c:368: error: `rendezvousPrime' undeclared (first use in this function)
main.c:395: warning: implicit declaration of function `FifoUtil_open'
main.c:395: error: `displayEnv' undeclared (first use in this function)
main.c:396: error: `FIFOUTIL_FAILURE' undeclared (first use in this function)
main.c:442: error: `videoEnv' undeclared (first use in this function)
main.c:470: error: `speechEnv' undeclared (first use in this function)
main.c:495: error: `audioEnv' undeclared (first use in this function)
main.c:511: error: `ctrlEnv' undeclared (first use in this function)
main.c:531: warning: implicit declaration of function `Rendezvous_force'
main.c:534: warning: implicit declaration of function `Pause_off'
main.c:570: warning: implicit declaration of function `FifoUtil_close'
main.c:578: warning: implicit declaration of function `Rendezvous_close'
main.c:590: warning: implicit declaration of function `Pause_close'
make: *** [debug/main.o] Error 1
[root@localhost decode]#
rules.make
DVSDK_INSTALL_DIR=$/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41
#added /home
CE_INS#
CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec_engine_2_00_01/packages
#altered added /packages
# old XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdc_3_00_02_11
XDC_INSTALL_DIR=$/opt/mv_pro_4.0.1/xdc_3_00_02_11
#MVTOOL_DIR=/db/toolsrc/library/vendors2005/mvl/arm/mvl4.0.1-root-new//montavista/pro/devkit/arm/v5t_le
MVTOOL_DIR=/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le
EXEC_DIR=$(HOME)/workdir/filesys/opt/dvsdk/$(PLATFORM)TALL_DIR=$(DVSDK_INSTALL_DIR)/codec_engine_2_00_01/packages
# old XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdc_3_00_02
This certainly looks like a PATH issue. I am understanding correctly that everything was building fine before you added the printf statement and adding the printf statement cuased the following errors? If so, then there might be a slight problem in the source code itself.
By quickly glancing at your Rules.mak file, I did not see anything obviously wrong, but one thing did catch my eye. It seems that you are installing DVSDK tree into your shared NFS file system (/home/<user>/workdir/filesys); although I so not see why this should not work, it is a bit odd. Do you really have the right installation path?
FYI, the demos will look for the Rules.mak file in a relative path (defined by DVSDK tree), if it is not found there, the demos will default to using their own makefiles to define some of these paths (which may not be correct); make sure you do not move the Rules.mak file.
Hello,
I could well be doing this alittle backwards but I don't see any reason why it should not work. I'm compiliing the code on the PC then running the demos through the EVM. Now the demos do run this way.
As for the make, I did a full make on the PC and it seemed to work fine. then I did a individaul make in the directory an this worked fine. Just by adding a printf command even with my C should not alter much but by doing this will alert the compiler to a change in main.c and then invoke the compiler which is what it seems to have done. So my printf should not be the problem.
I have noticed quite a few issues with this.
this error is there video/davincifb_ioctl.h now one problem with this is that I have searched my PC and cannot find this header file? I have also gone through the Rules.make and found that this directory don't exist
this error is there video/davincifb_ioctl.h now one problem with this is that I have searched my PC and cannot find this header file?
I have also gone through the Rules.make and found that this directory don't exist
# Where DSP/BIOS is installed original #BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_31_08 I found this directory and hope it's the same one on a different version BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/biosutils_1_00_02/packages/ I have checked all the others to see what they do. I can alter the paths in the .c code from for instance
original #BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_31_08
I found this directory and hope it's the same one on a different version BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/biosutils_1_00_02/packages/
I have checked all the others to see what they do.
I can alter the paths in the .c code from for instance
/ti/sdo/ce/trace/gt.h
which does not work to the below which does work. But I assume this is a bad way of doing it and there must be something I've missed.
/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/codec_engine_2_00_01/packages/ti/sdo/ce/trace/gt.h Any suggestions? besides give up?
/home/tillema/workdir/filesys/opt/dvsdk_1_30_01_41/codec_engine_2_00_01/packages/ti/sdo/ce/trace/gt.h
Any suggestions? besides give up?
Please note that the "davincifb_ioctl.h" file is found under the Linux Kernel tree (.../lsp/ti-davinci/include/video/davincifb_ioctl.h"
Also, bios_5_31_08 directory is the result of installing "dsp_bios_setuplinux_5_31_08_15.bin" file from the software update site (although this is not necessary for DM355). Did you specify PLATFORM=dm355 at the top of your Rules.make?
You should not need to change any makefiles, so long as your Rules.make and PATH variable (you can check by typing "echo $PATH") are set correctly, everything should work. And you are correct that the installation directory should not matter, I just thought it looked a bit odd.
Cheers,
When you say the linux kernel tree, maybe I do not have this installed correctly on the PC or do you mean on the dm355?
My make file is now exactly what it was from the original. Although I had changed it but now it is as it was.
dm355 was specified at the top.
I'll have a search.
The kernel tree should have been installed onto your PC as part of the getting started guide process, in particular if you went through section 4.5 'Building a New Linux Kernel' you should have it within home/user/workdir/lsp/, if you just went through the earlier installation processes it should exist within /opt/mv_pro_4.0.1/montavista/pro/devkit/lsp/ti-davinci though I would suggest making a copy of it elsewhere before doing any work on it so you do not have to do a reinstall to get back the original.
Going thru cahpter 4 of the Getting Started Guide (GSG) is key. If you can complete the hello world program (section 4.4.1 of GSG) it will prove your PATH variable is set correctly. If you can build the DVSDK tree (section 4.6), it means your Rules.make is set correctly. These two sections are key to getting your build enviroment set-up correctly.