Brian,

I will let somebody else respond for your actual problem. Related to building 
DSPLink, the 'current' is defined in one of the Linux kernel headers in the 
heirarchy as included from DSPLink prcs.c. (e.g. linux/module.h -> 
linux/sched.h -> asm/current.h).

Maybe your kernel version has something different?

Regards,
Mugdha

-----Original Message-----
From: Brian Rhodes [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 19, 2008 12:32 PM
To: Kamoolkar, Mugdha
Cc: [email protected]
Subject: Re: building dsplink


Thanks for responding.  I am trying to compile dsplink 1.50 and I am using 
codec engine 2.10.  The error is with the type for 'current'.  I dug around for 
that, but could not find where it was actually located.
What I am actually trying to do is load an Engine from a library which loads 
dynamic libraries which are initialized with the engine handle.
These libraries then use the individual algorithms.  However VIDDEC_create just 
causes the program to exit when called from one of the libraries which I 
dlopen.  If I call VIDDEC_create from the main library (where CERuntime_init() 
is called from) then everything works correctly.  dsplink is unrelated to my 
problem, however I was concerned that I could not rebuild it.

#0  0x4520fec8 in Memory_alloc ()
   from /usr/local/LEO_SDK.1.0/media_plugins/decode_video_c64x.plug
#1  0x4520b1b8 in VISA_create2 (engine=0x42478,
    name=0x452295b8 "mpeg2_dec", params=0x0, paramsSize=0, msgSize=836,
    type=0x4522a704 "ti.sdo.ce.video.IVIDDEC") at visa.c:380
#2  0x4520ac70 in VISA_create (engine=0x42478, name=0x452295b8 "mpeg2_dec",
    params=0x0, msgSize=836, type=0x4522a704 "ti.sdo.ce.video.IVIDDEC")
    at visa.c:239
#3  0x45204f40 in VIDDEC_create (engine=0x42478,
    name=0x452295b8 "mpeg2_dec", params=0x0) at viddec.c:61
#4  0x45203aac in c64x_video_init ()
   from /usr/local/LEO_SDK.1.0/media_plugins/decode_video_c64x.plug

    will link with codecs.iv_mpeg2_dec:lib/iv_mpeg2dec.a64P
    will link with ti.sdo.ce.video:lib/debug/video.a470MV
    will link with ti.sdo.ce:lib/ce_debug.a470MV
    will link with ti.sdo.ce.ipc.dsplink:lib/ipc_dsplink_6446_debug.a470MV
    will link with ti.sdo.ce.osal.linux:lib/osal_linux_470.a470MV
    will link with ti.sdo.ce.alg:lib/Algorithm_noOS.a470MV;lib/alg.a470MV
    will link with ti.sdo.ce.ipc:lib/ipc.a470MV
    will link with ti.sdo.fc.dman3:dman3Cfg.a470MV
    will link with ti.sdo.fc.acpy3:acpy3.a470MV
    will link with ti.sdo.ce.utils.xdm:lib/debug/XdmUtils.a470MV
    will link with ti.sdo.utils.trace:lib/gt.a470MV
    will link with
dsplink.gpp:export/BIN/Linux/Davinci/DM6446/DEBUG/dsplink.lib
    will link with ti.sdo.linuxutils.cmem:lib/cmem.a

The main application where VIDDEC_create() works, links the same libraries.  I 
am guessing that this fails because the engine is created in the main 
application and the dynamically loaded libraries do know what memory segment to 
use for the algorithm creation?

Kamoolkar, Mugdha wrote:
> Brian,
>
> You may have an incompatible version of Linux kernel. DSPLink versions prior 
> to DSPLink 1.50 did not inherently support linux kernel versions 2.6.18 
> onwards. If you need to build DSPLink on a linux kernel version 2.6.18+, 
> you'll need to either:
> 1. Use DSPLink 1.50 (but note that you need the compatible Codec
> Engine version for this)
> http://wiki.davincidsp.com/index.php?title=Codec_Engine_Roadmap
> 2. Use the patch from Kevin on the older version of DSPLink, that adds
> support for Linux kernel versions 2.6.18 onwards into DSPLink
> http://www.mail-archive.com/[EMAIL PROTECTED]
> .com/msg03002.html
>
> Regards,
> Mugdha
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On
> Behalf Of Brian Rhodes
> Sent: Wednesday, June 18, 2008 9:29 PM
> To: [email protected]
> Subject: building dsplink
>
> prcs.c: In function `PRCS_Create':
> prcs.c:185: error: dereferencing pointer to incomplete type
> prcs.c:186: error: dereferencing pointer to incomplete type
> prcs.c:188: error: dereferencing pointer to incomplete type
>
> 185            (*prcsObj)->handleToThread    = (Pvoid) current->pid   ;
> 186            (*prcsObj)->handleToProcess   = (Pvoid) current->mm  ;
> 187            (*prcsObj)->priorityOfThread  = 0                    ;
> 188            (*prcsObj)->priorityOfProcess = current->prio        ;
>
> What am I missing?
> _______________________________________________
> 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