Which Codec Engine version are you using?  Are you able to build the
examples/apps/video_copy/dualcpu example?  If so, review the makefile
there to understand the build steps necessary.
 
If you've upgraded to Codec Engine 1.10, refer to the "Compatibility
Breaks!" section in the Release Notes, which contains this (and looks
exactly like the error you're hitting):
 
--------------------------------
 
 The GCC Monta Vista target (used to build ARM-side executables) has
broken compatibility in order to add support for Monta Vista's Windows
build environment. This change requires CE 1.10 customers to update to
the XDC tools provided in BIOS 5.31.01 or later. You can set
XDC_INSTALL_DIR to your environment's bios_5_31_01/xdctools.

Failure to update to these new xdctools may result in strange errors
when building the updated examples, like the following: 
    /db/toolsrc/library/vendors2005/mvl/arm/mvl4.0-new/montavista/pro
    /devkit/arm/v5t_le/bin/../lib/gcc/armv5tl-montavista-linuxeabi/3.
    4.3/../../../../armv5tl-montavista-linuxeabi/bin/ld:./ceapp_packa
    ge/package/cfg/pkg_x470MV.xdl: file format not recognized; treati
    ng as linker script
    /db/toolsrc/library/vendors2005/mvl/arm/mvl4.0-new/montavista/pro
    /devkit/arm/v5t_le/bin/../lib/gcc/armv5tl-montavista-linuxeabi/3.
    4.3/../../../../armv5tl-montavista-linuxeabi/bin/ld:./ceapp_packa
    ge/package/cfg/pkg_x470MV.xdl:2: parse error
    collect2: ld returned 1 exit status
    
Breaks occurred in 2 places; the examples have been updated to reflect
these changes: 

1.      The rootDir configuration has "moved up" one level. Codec Engine
users typically configure this in user.bld, and will have to set this
variable one directory higher than previous releases. 
2.      The format of the autogenerated linker command file (with the
.xdl extension) has changed in format. As a result, when adding this
file to an application's link line, rather than the previous technique
of "cat'ing" the contents of the file onto the link line, you now simply
provide the name of the file. 
        
        That is, rather than the previous technique: 
              $(LINK) `cat $(XDL_FILE)`
              
        do this instead: 
              $(LINK) $(XDL_FILE)       

-----------------------------
 
Chris


________________________________

        From: Subhash [mailto:[EMAIL PROTECTED] 
        Sent: Wednesday, March 14, 2007 12:46 AM
        To: [email protected]
        Cc: Ring, Chris; Andy Ngo
        Subject: Re: Segmentation fault
        
        
        Hi Andy and Chris,
         
        Thanks for your reply.I tried to build application by linking
the libraries mentioned by you.I copied ceapp_package(the one which is
present in video_copy/dualcpu) directory in to my application path and
also linked list file $(XDC_LFILE), now i got following errors.
         
        
/usr/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/../../../../armv5tl-mont
avista-linuxeabi/bin/ld:./ceapp_package/package/cfg/pkg_x470MV.xdl: file
format not recognized; treating as linker script
        
/usr/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/../../../../armv5tl-mont
avista-linuxeabi/bin/ld:./ceapp_package/package/cfg/pkg_x470MV.xdl:2:
parse error collect2: ld returned 1 exit status make: *** [bt_gui_demo]
Error 1.
         
        Please help me to build application successfully.
         
        Regards,
        Subhash
         
        ----- Original Message ----- 

                From: Ring, Chris <mailto:[EMAIL PROTECTED]>  
                To: Andy Ngo <mailto:[EMAIL PROTECTED]>  ;
Subhash <mailto:[EMAIL PROTECTED]>  ;
[email protected] 
                Sent: Wednesday, March 14, 2007 2:55 AM
                Subject: RE: Sementation fault

                Hmmm, have to be careful here.
                 
                The list of libraries to link in will vary with the
application config.  For example, Andy, if you added a video codec to
your application config, you'd need to add video.a470MV.  If you enabled
debug libraries, you'd have to switch most of the libraries in the list.
Also, if you had a codec which supported "local" execution (on the ARM),
the list of libraries would change when your app configured "local:true"
vs. "local:false".
                 
                For exactly all these reasons, we _autogenerate_ the
list of files to link with as an output to the config step(!).  We're
working on the XDC tools to make this easier in future releases of the
tooling, but for now you can refer to the comments in
examples/apps/video_copy/dualcpu/makefile (interesting stuff copied
here):
                
                # [CE] define EXAMPLES_ROOTDIR to point to root of
<CE/examples> directory
                EXAMPLES_ROOTDIR := $(CURDIR)/../../..
                
                # [CE] include the file that defines paths to XDC
packages and XDC tools
                include $(EXAMPLES_ROOTDIR)/xdcpaths.mak
                
                # [CE] add the examples directory itself to the list of
paths to packages
                XDC_PATH := $(EXAMPLES_ROOTDIR);$(XDC_PATH)
                
                # [CE] include the makefile that rus XDC configuration
step for our
                # program configuration script.
                #
                # Input:
                # XDC_CFGFILE: location of the program configuration
script (if in different
                #              directory, include the relative path to
the file)
                # Implicit input: XDC_ROOT and XDC_PATH defined by the
xdcpaths.mak above
                #
                # Output:
                # XDC_FLAGS:   additional compiler flags that must be
added to existing 
                #              CFLAGS or CPPFLAGS
                # XDC_CFILE:   name of the XDC-generated C file; usually
does not need to be
                #              used explicitly, the existing .c->.o
rules will take care of it
                # XDC_OFILE:   name of object file produced by compiling
XDC-generated C file;
                #              must be linked with the user's
application
                # XDC_LFILE:   list of Codec Engine libraries that must
be supplied to the
                #              linker (usually as `cat $(XDC_LFILE)`)
                # Implicit output: rule that generates .c file from the
program configuration
                #              script (XDC_CFGFILE); rule to generate
dummy package one dir.
                #              level below the script; rule that cleans
generated files
                XDC_CFGFILE = ./ceapp.cfg
                include
$(EXAMPLES_ROOTDIR)/buildutils/xdccfg_linuxarm.mak
                 
                As described above, the config step generates several
files which your build environment will utilize.  Namely:
                   1.  An autogenerated 'C' source file - all packages
can interrogate the configuration and generate tables, variables, etc
into the XDC_CFILE which the application must compile and link into it.
                   2.  An autogenerated 'XDC_LFILE' linker command file
(.xdl extension) - all packages can contribute to the application's
executable with libraries by implementing a 'getLibs()' function in
their package.xs script.
                   3.  A list of flags to add to your application's
build - XDC_FLAGS.
                 
                Looking back at the original post by Subhash, it's clear
that the auto-generated XDC_CFILE is not being compiled/linked into the
application - XDC_CFILE contains the 'Engine_config' and 'GT' symbols,
among _many_ others.
                 
                Some related discussion here:
        
http://www.mail-archive.com/[EMAIL PROTECTED]
om/msg01380.html
                 
                Chris


________________________________

                        From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Andy Ngo
                        Sent: Tuesday, March 13, 2007 1:03 PM
                        To: Subhash;
[email protected]
                        Subject: Re: Sementation fault
                        
                        
                        Make sure you link in the necessary CE libraries
with your ARM application.  This is what I had to link in with my ARM
application:
                         
                        export CE_DIR     =
/opt/dvevm_1_10/codec_engine_1_02/packages
                        export DSPLINK_DIR=
/opt/dvevm_1_10/dsplink_1_30_08_02/packages
                        export CMEM_DIR   =
/opt/dvevm_1_10/cmem_1_01/packages
                        
                        EXTRA_LIBS =
$(CE_DIR)/ti/sdo/ce/speech/lib/speech.a470MV \
                                     $(CE_DIR)/ti/sdo/ce/lib/ce.a470MV \
        
$(CE_DIR)/ti/sdo/ce/node/lib/node.a470MV \
        
$(CE_DIR)/ti/sdo/ce/utils/trace/lib/TraceUtil.a470MV \
        
$(CE_DIR)/ti/sdo/ce/bioslog/lib/bioslog.a470MV \
        
$(CE_DIR)/ti/sdo/ce/osal/lib/osal_dsplink_linux.a470MV \
        
$(DSPLINK_DIR)/dsplink/gpp/export/BIN/Linux/Davinci/RELEASE/dsplink.lib
\
        
$(CMEM_DIR)/ti/sdo/linuxutils/cmem/lib/cmem.a \
        
$(CE_DIR)/ti/sdo/ce/osal/alg/lib/alg.a470MV \
        
$(CE_DIR)/ti/sdo/ce/trace/lib/gt.a470MV
                        
                        myapp.out :
                                    $(CC) $(CFLAGS) $(LDFLAGS) -o $@
$(OBJ) $(LIBS) $(EXTRA_LIBS)
                        
                        Regards,
                        Andy
                        
                        ----- Original Message ----
                        From: Subhash <[EMAIL PROTECTED]>
                        To:
[email protected]
                        Sent: Tuesday, March 13, 2007 2:52:07 AM
                        Subject: Sementation fault
                        
                        
                        Hi All,
                        I am developing application on Davinci. I try to
use codec engine APIs, and
                        I face few problems after integrating Codec
engine in my application. I have
                        listed down the problems below 1. In my
application first i called
                        CERuntime_init function. When I call Engine_open
API it gives errors
                        undefined reference to `Engine_config" and
undefined reference to `GT" 2. So
                        i declared above variables in my application to
remove these erros(i think
                        its not the right way) and build the application
successfully.3.And when I
                        run the application I got a Segmentation Fault
in Engine_open.
                        I have linked all codec related libraries
properly. You can also refer the
                        request posted by someone at the link
        
http://linux.omap.com/pipermail/davinci-linux-open-source/2006-September
/000895.html ,
                        same problem I am facing here. Even though I
called CERuntime_init then also
                        I am getting this error.
                        Error mesg:
                        Program received signal SIGSEGV, Segmentation
fault.0x0002c6b4 in
                        Engine_open (name=0x2e7b4 "videnc",
attrs=0xbefffb24, ec=0xbefffb20) at
                        Engine.c:544.Please can any one help me on this.
                        
                        Regards,
                        Subhash B Karigar
                        Technical Lead
                        Adamya Computing Technologies Pvt.Ltd,
                        # 37, Cheeranjivi Layout,
                        Near Vidyaniketan School,
                        Kempapura, Hebbal,
                        Bangalore - 560 024
                        
                        Phone: +91(80) 2363 5744, 23635745
                        Mob:   +91 984 551 5696
                        
                        "Nothing is Impossible, as Impossible itself
says I M Possible"
                        I am A Slow Walker But I never walk Back
--Abrahim Linkon
                        
                        URL: www.adamya.com <http://www.adamya.com/> 
                        Adamya is among the Top Twenty Bluetooth Sites.
        
www.topsitelists.com/bestsites/bluetooth/topsitestopsites.cgi?ID=59
        
========================================================================
====
                        ====================
                        Information transmitted by this E-MAIL is
proprietary to ADAMYA and is
                        intended for use only by the individual or
entity to which it is addressed,
                        and may
                        contain information that is privileged,
confidential or exempt from
                        disclosure under applicable law. If you are not
the intended recipient or it
                        appears that
                        this mail has been forwarded to you without
proper authority, you are
                        notified that any use or dissemination of this
information in any manner is
                        strictly
                        prohibited.In such cases, please notify us
immediately at mail to:
                        [EMAIL PROTECTED]
        
========================================================================
====
                        ====================
                        
                        
                        
                        _______________________________________________
                        Davinci-linux-open-source mailing list
                        [email protected]
        
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to