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.

Please help with canny build error

I've copied the canny example to a folder parallel to the demos, and copied a server folder tree as well.  I'm getting the following error trying to build.  Ignore the dsplink warning, and look I believe at the "Error: server info file".  Is the problem that double slash between "unicanny_dm6467" and "package"?  I'm not sure how that's getting in there.  Or is it some other reason.  Note I added /home/helmutforren/dvsdk/dvsdk_2_00_00_22_Canny_iUniversal/dm6467_dvsdk_combos_2_05/packages to the encodedecode makefile and substituted it for the canny makefile, that had other incorrect environmental assumptions.

I'm quoting below both my terminal session and modified make file, as well as an excerpt from canny.cfg

 

===== TERMINAL SESSION =====

======== Building canny ========

Configuring application using canny.cfg
configuring canny.xv5T from package/cfg/canny_xv5T.cfg ...

js: "/home/helmutforren/dvsdk/dvsdk_3_10_00_11/codec_engine_2_25_01_06/packages/ti/sdo/ce/Engine.xs", line 328: Error: server info file
'/home/helmutforren/dvsdk/dvsdk_2_00_00_22_Canny_iUniversal/dm6467_dvsdk_combos_2_05/
packages/ti/fae/servers/unicanny_dm6467//package/info/./unicanny_dm6467.x64P.info.js' does not exist; specified serverExecutable='./unicanny_dm6467.x64P', serverPackage='ti.fae.servers.unicanny_dm6467'; verify that your server package has been properly built and released.

    "/home/helmutforren/dvsdk/dvsdk_3_10_00_11/codec_engine_2_25_01_06/packages/ti/sdo/ce/Engine.xs", line 341
    "/home/helmutforren/dvsdk/dvsdk_3_10_00_11/dvsdk_demos_3_10_00_09/dm6467/canny/canny.cfg", line 26
    "./package/cfg/canny_xv5T.cfg", line 474
    "./package/cfg/canny_xv5T.cfg", line 429
gmake: *** [package/cfg/canny_xv5T.c] Error 1

Warning: directory "/home/helmutforren/dvsdk/dvsdk_3_10_00_11/dsplink_linux_1_64/packages" on package path does not exist

js: "/home/helmutforren/dvsdk/dvsdk_3_10_00_11/xdctools_3_16_01_27/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
make[3]: *** [canny_config/linker.cmd] Error 1
make[3]: Leaving directory `/home/helmutforren/dvsdk/dvsdk_3_10_00_11/dvsdk_demos_3_10_00_09/dm6467/canny'
make[2]: *** [zcanny] Error 2
make[2]: Leaving directory `/home/helmutforren/dvsdk/dvsdk_3_10_00_11/dvsdk_demos_3_10_00_09/dm6467'
make[1]: *** [dm6467.build] Error 2
make[1]: Leaving directory `/home/helmutforren/dvsdk/dvsdk_3_10_00_11/dvsdk_demos_3_10_00_09'
make: *** [demos] Error 2
helmutforren@Ubuntu:~/dvsdk/dvsdk_3_10_00_11$

 

===== canny.cfg EXCERPT =====

var demoEngine = Engine.createFromServer(

    "unicanny_dm6467",
    "./unicanny_dm6467.x64P",
    "ti.fae.servers.unicanny_dm6467"
    );

===== Makefile =====

 

# Makefile

#

# ============================================================================

# Copyright (c) Texas Instruments Inc 2009

#

# Use of this software is controlled by the terms and conditions found in the

# license agreement under which this software has been supplied or provided.

# ============================================================================

 

TARGET = $(notdir $(CURDIR))

 

ifeq ($(VERBOSE), true)

    override VERBOSE =

else

    override VERBOSE = @

endif

 

-include $(DMAI_INSTALL_DIR)/Platform.make

 

# HgF ADDED FOR CANNY /home/helmutforren/dvsdk/dvsdk_2_00_00_22_Canny_iUniversal/dm6467_dvsdk_combos_2_05/packages

# Package path for the XDC tools

XDC_PATH = $(USER_XDC_PATH);../../packages;$(DMAI_INSTALL_DIR)/packages;$(CE_INSTALL_DIR)/packages;
$(LINK_INSTALL_DIR);$(FC_INSTALL_DIR)/packages;$(LINK_INSTALL_DIR)/packages;$(XDAIS_INSTALL_DIR)/packages;
$(CMEM_INSTALL_DIR)/packages;
$(CODEC_INSTALL_DIR)/packages;/home/helmutforren/dvsdk/dvsdk_2_00_00_22_Canny_iUniversal/dm6467_dvsdk_combos_2_05/packages

 

# Where to output configuration files

XDC_CFG = $(TARGET)_config

 

# Output compiler options

XDC_CFLAGS = $(XDC_CFG)/compiler.opt

 

# Output linker file

XDC_LFILE = $(XDC_CFG)/linker.cmd

 

# Input configuration file

XDC_CFGFILE = $(TARGET).cfg

 

PLATFORM_OS = $(strip $(PLATFORM_OS_dm6467_al))

PLATFORM_DEVICE = $(strip $(PLATFORM_DEVICE_dm6467_al))

PLATFORM_PERIPHERALS = $(strip $(PLATFORM_PERIPHERALS_dm6467_al))

PLATFORM_XDC_TARGET = $(strip $(PLATFORM_XDC_TARGET_dm6467_al))

PLATFORM_XDC = $(strip $(PLATFORM_XDC_dm6467_al))

 

# The XDC configuration tool command line

CONFIGURO = $(XDC_INSTALL_DIR)/xs xdc.tools.configuro

 

C_FLAGS += -Wall -g

 

LD_FLAGS += -lpthread -lpng -lz -ljpeg -lfreetype -lasound

LD_FLAGS += -L$(LINUXLIBS_INSTALL_DIR)/lib

 

COMPILE.c = $(VERBOSE) $(CC) $(C_FLAGS) $(CPP_FLAGS) -c

LINK.c = $(VERBOSE) $(CC) $(LD_FLAGS)

 

SOURCES = $(wildcard *.c) $(wildcard ../*.c)

HEADERS = $(wildcard *.h) $(wildcard ../*.h)

 

OBJFILES = $(SOURCES:%.c=%.o)

 

.PHONY: clean install 

 

all: dm6467

 

dm6467: dm6467_al

 

dm6467_al: $(TARGET)

 

install: $(if $(wildcard $(TARGET)), install_$(TARGET))

 

install_$(TARGET):

@install -d $(EXEC_DIR)

@install $(TARGET) $(EXEC_DIR)

@install $(TARGET).txt $(EXEC_DIR)

@echo

@echo Installed $(TARGET) binaries to $(EXEC_DIR)..

 

$(TARGET): $(OBJFILES) $(XDC_LFILE)

@echo

@echo Linking $@ from $^..

$(LINK.c) -o $@ $^

 

$(OBJFILES): %.o: %.c $(HEADERS) $(XDC_CFLAGS)

@echo Compiling $@ from $<..

$(COMPILE.c) $(shell cat $(XDC_CFLAGS)) -o $@ $<

 

$(XDC_LFILE) $(XDC_CFLAGS): $(XDC_CFGFILE)

@echo

@echo ======== Building $(TARGET) ========

@echo Configuring application using $<

@echo

$(VERBOSE) PLATFORM_XDC="$(PLATFORM_XDC)" XDCPATH="$(XDC_PATH)" $(CONFIGURO) -c $(MVTOOL_DIR) -o $(XDC_CFG) -t $(PLATFORM_XDC_TARGET) -p $(PLATFORM_XDC) -b $(DMAI_INSTALL_DIR)/packages/config.bld $(XDC_CFGFILE)

 

clean:

@echo Removing generated files..

$(VERBOSE) -$(RM) -rf $(XDC_CFG) $(OBJFILES) $(TARGET) *~ *.d .dep

 

  • Helmut Forren said:
    js: "/home/helmutforren/dvsdk/dvsdk_3_10_00_11/codec_engine_2_25_01_06/packages/ti/sdo/ce/Engine.xs", line 328: Error: server info file
    '/home/helmutforren/dvsdk/dvsdk_2_00_00_22_Canny_iUniversal/dm6467_dvsdk_combos_2_05/
    packages/ti/fae/servers/unicanny_dm6467//package/info/./unicanny_dm6467.x64P.info.js' does not exist; specified serverExecutable='./unicanny_dm6467.x64P', serverPackage='ti.fae.servers.unicanny_dm6467'; verify that your server package has been properly built and released.

    Did your server build correctly?  If so, do you have the file it's complaining can't be found - namely "/home/helmutforren/dvsdk/dvsdk_2_00_00_22_Canny_iUniversal/dm6467_dvsdk_combos_2_05/packages/ti/fae/servers/unicanny_dm6467/package/info/unicanny_dm6467.x64P.info.js"?

    Another very subtle thing to note - there's a space character in the error msg between ".../dm6467_dvsdk_combos_2_05/" and "packages/ti/..." - if that's _really_ there in your makefile, that could be an issue.  I don't see the space in your makefile, so maybe it's just an artifact of cut-n-pasting the build output - but since 'spaces in paths' is a common build issue, I thought it worth mentioning.

    Chris

  • It was indeed my plan this morning to search for files matching the right end of that pathname.  Of course, with ambiguity of when a dot is a dot vs a slash...  But I found the equivalent cs.x64P.info.js that works with encodedecode build.  There is no unicanny_dm6467.x64P.info.js.  I never built that [codec server package], it came fully built from the canny demo.  At least it certainly seemed so.  It's also from DVSDK 2.00.  Perhaps the needed file structure changed and I need to RE-build it in DVSDK 3.10 that I'm using.

    I temporarily changed canny.cfg createFromServer call to refer to the [cs] of encodedecode rather than [unicanny_dm6467] and the compile got further.  This is consistent with unicanny_dm6467.x64P.info.js missing.

    FORK ONE: I was going to rebuild the [codec server] anyway, in order to install my own code into it, so I'll start working on that.  It should end up with a *.x46P.info.js file.

    FORK TWO: When the compile went further to LINK, it then complained of undefined UNIVERSAL_process() function (and other similar for delete and create).  My encodedecode project that compiles refers instead to VIDANALYTICS_process() that I search and find declared in vidanalytics.h on package path ti/sdo/ce/vidanalytics (and defined in vidanalytics_stubs.c).  I find the #include "ti/sdo/ce/universal/universal.h" that allows the compile to work.  So I'm trying to figure out how the link is supposed to find the function.  I'm thinking it must be in the subordinate folder lib/release, one of those files.  They exist in parallel for both vidanalytics and universal.  So I need to figure out what about my canny project fails to provide the correct info to the link, that the encodedecode project does provide.  TERMINATE FORK.  I think this may get cured when the [codec server] is built properly.

    So I'm going to try to build the codec and server for the canny codec.  I'm sure I'll be back for more questions!

    Thanks,

    Helmut

  • Fabulous, indeed.  Got "sudo make codecs" to work on existing canny source up until link error for VLIB, which I have and will work on installing.

    Note, I found ti.fae.codecs.universal_canny_ires and ti.fae.servers.unicanny_dm6467 under DVSDK 2.00.  Given that I have a working make environment under DVSDK3.10 for ti.sdo.codecs and ti.sdo.server, I copied these directories in.  Found I had to change all occurrences of "fae" to "sdo" (and "servers" to "server" where appropriate).  I can definitely say that this rats nest is BAD CODING PRACTICE.  One should be able to migrate source to a new folder and NOT have to change so much stuff.  It may be standard in the linux world, but it's still bad (stupid) practice.  Oh well.  C'est la vie.

    I'll go install VLIB next.

    Please comment in the mean time on the below.  The "sudo make codecs" generated these warnings:

    Warning: ti.sdo.codecs.universal_canny_ires.ce.UNIVERSAL_CANNY_IRES did not supply a max DARAM scratch size; assuming 0 bytes is sufficient.
    Warning: ti.sdo.codecs.universal_canny_ires.ce.UNIVERSAL_CANNY_IRES did not supply a max SARAM scratch size; assuming 0 bytes is sufficient.

    Is this OK, or a problem upgrading from DVSDK 2.00 to 3.10?

    Thanks VERY much,

    Helmut

    p.s. one of these years I'll have time to unravel the need for "sudo".  Perhaps I'll do a global chown from the dvsdk down.  There was something early on forcing sudo, and it has cascaded.

  • FYI...

    Got VLIB installed (was already installed on CSSv4/WindowsXP(MachineB) and just needed to copy .l64p files to canny codec folder).

    Got canny codec and server built

    Got canny app built

    Next am going to actually try running canny on the DM6467T EVM

    Do I need to worry about those two warnings in my prior post, about DARAM and SARAM scratch size?

  • Chris and others, please be so kind as to follow up on the thread "why does universal canny dma_alloc_coherent fail?" at http://e2e.ti.com/support/embedded/f/354/p/89319/309258.aspx#309258

    Thanks very much,

    Helmut

  • Helmut Forren said:
    Do I need to worry about those two warnings in my prior post, about DARAM and SARAM scratch size?

    No need to worry about that - I'll file an enhancement to reword that "warning" to a "remark".

    It just means the alg (in its <MODULE>.xs file) isn't returning that it needs any DARAM or SARAM scratch memory - which may be just fine in many cases.

    Chris