[maemo-developers] Working source package/compilation instructions for dsp_dld?

From: Simon Pickering S.G.Pickering at bath.ac.uk
Date: Thu Dec 6 02:17:27 EET 2007
Hi all,

I tried compiling dsp_dld (the DSP dynamic loader daemon) from the  
source in dspgw-3.3-arm.tar.bz2  
(http://prdownloads.sourceforge.net/dspgateway/dspgw-3.3-arm.tar.bz2?download).

This is the correct version of the code as reported by "dsp_dld -v" on  
my N800 running OS2008 beta.

Unfortunately the code doesn't compile as it's lacking at least one  
definition and produces some errors with the kernel headers:

[sbox-CHINOOK_ARMEL: ~/build/dsp/dsp_dld/arm] > make
/scratchbox/compilers/bin/gcc -g -Wall -I. -I../../../../include  
-I/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include -DUSE_FORK   
  -c -o dsp_dld.o dsp_dld.c
In file included from dsp_dld.c:36:
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:61:  
error: syntax error before "__u16"
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:61:  
warning: no semicolon at end of struct or union
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:62:  
warning: type defaults to `int' in declaration of `data'
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:62:  
warning: data definition has no type or storage class
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:66:  
error: syntax error before "__u16"
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:66:  
warning: no semicolon at end of struct or union
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:67:  
warning: type defaults to `int' in declaration of `val'
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:67:  
warning: data definition has no type or storage class
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:71:  
error: syntax error before "__u8"
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:71:  
warning: no semicolon at end of struct or union
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:72:  
warning: type defaults to `int' in declaration of `val'
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:72:  
error: conflicting types for 'val'
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:67:  
error: previous declaration of 'val' was here
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:72:  
warning: data definition has no type or storage class
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:73:  
error: syntax error before '}' token
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:98:  
error: syntax error before "__u32"
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:98:  
warning: no semicolon at end of struct or union
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:99:  
warning: type defaults to `int' in declaration of `size'
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:99:  
warning: data definition has no type or storage class
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:112:  
error: syntax error before "__u8"
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:112:  
warning: no semicolon at end of struct or union
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:113:  
warning: type defaults to `int' in declaration of `taskadr'
/home/simon/kernel/kernel-source-rx-34-2.6.21.0//include/asm/arch/dsp.h:113:  
warning: data definition has no type or storage class
dsp_dld.c: In function `task_load':
dsp_dld.c:807: error: `OMAP_DSP_TADD_ABORTADR' undeclared (first use  
in this function)
dsp_dld.c:807: error: (Each undeclared identifier is reported only once
dsp_dld.c:807: error: for each function it appears in.)
make: *** [dsp_dld.o] Error 1

I had previously tried with version 3.3.1 of the code, this includes a  
header file and doesn't seem to have problems with the kernel headers.  
It compiles but when run, it unfortunately crashes the DSP, which is  
not quite the effect I was after. What I am trying to do is modify the  
dsp_dld code to produce some more debugging output to make my life  
easier when developing dsp tasks. E.g. debugging this error:

device ivorbisidec is requesting for TADD.
starting TADD process for device ivorbisidec.
loading /lib/dsp/modules/ivorbisidec.o.
section text: could not find directive. placing it to default memory (DARAM).
section text: size = 0x00002d, align = 0x1 ... no space left in DARAM!
section text: failed to place!
cleaning task ivorbisidec...
unloading /lib/dsp/modules/ivorbisidec.o.

I hope we can just get a source package added to the repo, but if  
that's not possible (or might take a while), I'd be happy with some  
advice as to how to get it to compile and work.

Thanks,


Simon


More information about the maemo-developers mailing list