Dear Chris,
I think I found the problem while I was writing a long response to your
email with all the details. I found out that I linked to some wrong
libraries. Let me explain a bit.
I am compiling my program directly on the arm board, I have the rootfs
mounted on nfs. The only thing I need to do is running xs on the pc to
generate some code, but after that I compile everything on the arm,
because I feel much more comfortable by using autotools to generate
binaries and libraries and TI tools are not easy to integrate with
autotools. My mistake was that I was using a wrong XDCPATH, which
pointed to some packages that were not those being used on the arm, but
that I had on my pc for previous tests. I fixed the XDCPATH and I
discovered that I was linking
/opt/codec_engine_2_21/packages/ti/sdo/ce/ipc/linux/lib/release/ipc_linux.av5T
but after changing XDCPATH I discovered I had to link
/opt/codec_engine_2_21/packages/ti/sdo/ce/ipc/dsplink/lib/release/ipc_dsplink_6446.av5T
I think that this also makes sense with your answer. Now, if I run the
program I can open codec engine and create the h264 encoder, the output
is appended here.
Everything seems fine, thank you for your hint that made me discover the
error.
Ottavio
TraceUtil> Warning: Failed to open local log file "trace/cearmlog.txt", using
stdout
TraceUtil> Warning: Failed to open dsp CE log file "trace/cedsp0log.txt", using
stdout
TraceUtil> Warning: Failed to open dsp/bios log file "trace/bioslog.dat",
disabling log
@0x00059c72:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0xba70)
@0x00059de6:[T:0x4001eb80] OM - Memory_alloc> Enter(0x18)
@0x00059ea5:[T:0x4001eb80] OM - Memory_alloc> return (0x45478)
@0x0005a03c:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0x1860c)
@0x0005a157:[T:0x4001eb80] OM - Memory_alloc> Enter(0x18)
@0x0005a208:[T:0x4001eb80] OM - Memory_alloc> return (0x4e6a8)
@0x0005a28d:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0x17534)
@0x0005a326:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0x19d40)
@0x0005a452:[T:0x4001eb80] ti.sdo.ce.osal.Sem - Sem_create> count: 0
@0x0005aacf:[T:0x4001eb80] OM - Memory_alloc> Enter(0x14)
@0x0005ab9e:[T:0x4001eb80] OM - Memory_alloc> return (0x45178)
@0x0005ac5d:[T:0x4001eb80] ti.sdo.ce.osal.Sem - Leaving Sem_create> sem[0x45178]
@0x0005aced:[T:0x4001eb80] ti.sdo.ce.osal.Sem - Sem_create> count: 0
@0x0005ad61:[T:0x4001eb80] OM - Memory_alloc> Enter(0x14)
@0x0005adde:[T:0x4001eb80] OM - Memory_alloc> return (0x451a0)
@0x0005ae50:[T:0x4001eb80] ti.sdo.ce.osal.Sem - Leaving Sem_create> sem[0x451a0]
@0x0005aec5:[T:0x4001eb80] OM - Memory_alloc> Enter(0x18)
@0x0005af38:[T:0x4001eb80] OM - Memory_alloc> return (0x4e630)
@0x0005afad:[T:0x4001eb80] OT - Thread_create> Enter (fxn=0x15d38, attrs=0x0)
@0x0005b023:[T:0x4001eb80] OM - Memory_alloc> Enter(0x64)
@0x0005b09a:[T:0x4001eb80] OM - Memory_alloc> return (0x45068)
@0x0005b3ac:[T:0x4001eb80] OT - Thread_create> Exit (task=0x45068)
@0x0005b465:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0x15728)
@0x0005b510:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0x17a04)
@0x0005b66d:[T:0x4001eb80] ti.sdo.ce.alg - ALG_init> Enter
@0x0005b718:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0x15374)
@0x0005b7aa:[T:0x4001eb80] ti.sdo.ce.alg - ALG_init> Exit
@0x0005b81f:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0x147a0)
@0x0005b8bb:[T:0x4001eb80] OM - Memory_alloc> Enter(0x18)
@0x0005b94a:[T:0x4001eb80] OM - Memory_alloc> return (0x45278)
@0x0005b9c9:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0x1a230)
@0x0005bafa:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0x11c34)
@0x0005bbb8:[T:0x4001eb80] OM - Memory_alloc> Enter(0x18)
@0x0005bc49:[T:0x4001eb80] OM - Memory_alloc> return (0x452d8)
@0x0005bcc7:[T:0x4001eb80] OM - Memory_alloc> Enter(0x18)
@0x0005bd44:[T:0x4001eb80] OM - Memory_alloc> return (0x452f8)
@0x0005bdbd:[T:0x4001eb80] OM - Memory_alloc> Enter(0x18)
@0x0005be39:[T:0x4001eb80] OM - Memory_alloc> return (0x45318)
@0x0005bf1e:[T:0x4001eb80] CS - Server_init()
@0x0005bfbf:[T:0x4001eb80] CS - Server_init> Global_useLinkArbiter = 0
@0x0005c047:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0xff14)
@0x0005c156:[T:0x4001eb80] OG - Global_atexit> enter (fxn=0xd88c)
@0x0005c288:[T:0x4001eb80] CE - Engine_open> Enter('encode', 0x0, 0xbee67b8c)
@0x0005c342:[T:0x4001eb80] OM - Memory_alloc> Enter(0x2c)
@0x0005c3d3:[T:0x4001eb80] OM - Memory_alloc> return (0x4ecc0)
@0x0005c456:[T:0x4001eb80] CE - rserverOpen('encodeCombo.x64P'), count = 0
@0x0005c522:[T:0x4001eb80] OP - Processor_create>
Enter(imageName='encodeCombo.x64P', linkCfg='(null)', attrs=0xbee67b40)
@0x0005d2fd:[T:0x4001eb80] OM - Memory_alloc> Enter(0x24)
@0x0005d3d0:[T:0x4001eb80] OM - Memory_alloc> return (0x4eb60)
@0x0005d45e:[T:0x4001eb80] OP - doCmd> Enter (cmdId=1, proc=0x4eb60)
@0x0005d4dd:[T:0x4001eb80] ti.sdo.ce.osal.Sem - Entered Sem_post> sem[0x45178]
@0x0005d5de:[T:0x4001eb80] ti.sdo.ce.osal.Sem - Leaving Sem_post> sem[0x45178]
@0x0005d681:[T:0x4001eb80] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x451a0]
timeout[0xffffffff]
@0x0005dc65:[T:0x40de1490] OP - daemon> thread created.
@0x0005e175:[T:0x40de1490] OP - getCmd_d> Enter (proc=0x40de0de8)
@0x0005e690:[T:0x40de1490] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x45178]
timeout[0xffffffff]
@0x0005ebbf:[T:0x40de1490] ti.sdo.ce.osal.Sem - Leaving Sem_pend> sem[0x45178]
status[0]
@0x0005f0e3:[T:0x40de1490] OP - getCmd_d> Exit (result=1)
@0x0005f699:[T:0x40de1490] OP - Processor_create_d> Enter(proc=0x4eb60)
@0x0005fbb0:[T:0x40de1490] OP - Processor_create_d> Initializing DSP PROC...
@0x000600ca:[T:0x40de1490] OP - Processor_create_d> Using DspLink config data
for entry #0 [server 'encodeCombo.x64P']
@0x00060613:[T:0x40de1490] OM - Memory_alloc> Enter(0xe0)
@0x00060b33:[T:0x40de1490] OM - Memory_alloc> return (0x4e6c8)
@0x00061051:[T:0x40de1490] OP - Processor_create_d> Adding DSP segment #0 to
Link configuration: name='DDR2', startAddress=0x8fa00000, sizeInBytes=0x400000,
shared=1, syncd=0
@0x000615d3:[T:0x40de1490] OP - Processor_create_d> Adding DSP segment #1 to
Link configuration: name='DSPLINKMEM', startAddress=0x8fe00000,
sizeInBytes=0x100000, shared=1, syncd=0
@0x00061bc3:[T:0x40de1490] OP - Processor_create_d> Adding DSP segment #2 to
Link configuration: name='RESET_VECTOR', startAddress=0x8ff00000,
sizeInBytes=0x80, shared=1, syncd=0
@0x00062150:[T:0x40de1490] OP - Processor_create_d> Adding DSP segment #3 to
Link configuration: name='DDRALGHEAP', startAddress=0x88000000,
sizeInBytes=0x7a00000, shared=0, syncd=0
@0x000626d5:[T:0x40de1490] OP - Processor_create_d> DOPOWERCONTROL was=0; now=0
@0x00063a7a:[T:0x40de1490] OP - Processor_create_d> Attaching to DSP PROC...
@0x000665e4:[T:0x40de1490] OP - Processor_create_d> Opening MSGQ pool...
@0x00066e0d:[T:0x40de1490] OP - Processor_create_d> Loading encodeCombo.x64P on
DSP (1 args)...
@0x00092ac2:[T:0x40de1490] OP - Processor_create_d> Starting DSP PROC...
@0x000a00c2:[T:0x40de1490] OP - Processor_create_d> Opening remote transport...
@0x000a096a:[T:0x40de1490] OP - Processor_create_d> return (1)
@0x000a0e88:[T:0x40de1490] ti.sdo.ce.osal.Sem - Entered Sem_post> sem[0x451a0]
@0x000a1471:[T:0x4001eb80] ti.sdo.ce.osal.Sem - Leaving Sem_pend> sem[0x451a0]
status[0]
@0x000a1540:[T:0x4001eb80] OP - doCmd> Exit (result=1)
@0x000a15c2:[T:0x4001eb80] OP - Processor_create> return (0x4eb60)
@0x000a163e:[T:0x4001eb80] CE - rserverOpen('encodeCombo.x64P'): 0x44548 done.
@0x000a16c3:[T:0x4001eb80] OM - Memory_alloc> Enter(0x24)
@0x000a1744:[T:0x4001eb80] OM - Memory_alloc> return (0x4c580)
@0x000a181c:[T:0x4001eb80] OC - Comm_create> Enter(queueName='encode_4218_0',
queue=0x4ecd0, attrs=0x0)
@0x000a18b4:[T:0x4001eb80] OM - Memory_alloc> Enter(0x4)
@0x000a1938:[T:0x4001eb80] OM - Memory_alloc> return (0x4e840)
@0x000a1b88:[T:0x4001eb80] OC - Comm_create> return (0x4e840)
@0x000a1c49:[T:0x4001eb80] OM - Memory_free> Enter(0x4c580, 0x24)
@0x000a1cde:[T:0x4001eb80] OM - Memory_free> return (0x1)
@0x000a1d59:[T:0x4001eb80] OC - Comm_alloc> Enter(poolId=0x0, msg=0x4ecdc,
size=576)
@0x000a1e10:[T:0x4001eb80] OC - Comm_alloc> msg=0x415eec80, returning (0)
@0x000a1e98:[T:0x4001eb80] OC - Comm_locate> Enter(queueName='rmsq',
queue=0x4eccc)
@0x000a262c:[T:0x40de1490] ti.sdo.ce.osal.Sem - Leaving Sem_post> sem[0x451a0]
@0x000a2b5a:[T:0x40de1490] OP - getCmd_d> Enter (proc=0x40de0de8)
@0x000a306f:[T:0x40de1490] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x45178]
timeout[0xffffffff]
@0x000a36f7:[T:0x4001eb80] OC - Comm_locate> return (0)
@0x000a37c0:[T:0x4001eb80] CE - checkServer(0x4ecc0)
@0x000a3868:[T:0x4001eb80] OC - Comm_put> Enter(queue=0x0, msg=0x415eec80)
@0x000a39de:[T:0x4001eb80] OC - Comm_put> return (0)
@0x000a3aa9:[T:0x4001eb80] OC - Comm_get> Enter(queue=0x10000, msg=0xbee67b58,
timeout=-1)
@0x000a407d:[T:0x4001eb80] OC - Comm_get> MSGQ_get() status=0x8000, return (0)
@0x000a45b7:[T:0x4001eb80] CE - rmsInit(0x4ecc0), setting DSP trace mask to
*=01234567,ti.bios=01324567
@0x000a4afb:[T:0x4001eb80] CE - Engine_setTrace> Enter(engine=0x4ecc0,
mask='*=01234567,ti.bios=01324567')
@0x000a5048:[T:0x4001eb80] CE - Engine_setTrace> Requesting DSP set trace ...
@0x000a555c:[T:0x4001eb80] OC - Comm_put> Enter(queue=0x0, msg=0x415eec80)
@0x000a5ad0:[T:0x4001eb80] OC - Comm_put> return (0)
@0x000a6059:[T:0x4001eb80] OC - Comm_get> Enter(queue=0x10000, msg=0xbee67b0c,
timeout=-1)
@0x000a667e:[T:0x4001eb80] OC - Comm_get> MSGQ_get() status=0x8000, return (0)
@0x000a6bb3:[T:0x4001eb80] CE - Engine_setTrace> return(0)
@0x000a70b8:[T:0x4001eb80] CE - Engine_open> return(322752)
@0x000a7635:[T:0x4001eb80] ti.sdo.ce.video1.VIDENC1 - VIDENC1_create> Enter
(engine=0x4ecc0, name='h264enc', params=0x0)
@0x000a7ba6:[T:0x4001eb80] CV - VISA_create(0x4ecc0, 'h264enc', 0x0, 0x2496,
'ti.sdo.ce.video1.IVIDENC1')
@0x000a80dd:[T:0x4001eb80] CV - VISA_create2(0x4ecc0, 'h264enc', 0x0, 0x0,
0x2496, 'ti.sdo.ce.video1.IVIDENC1')
@0x000a8642:[T:0x4001eb80] OM - Memory_alloc> Enter(0x30)
@0x000a8856:[T:0x4001eb80] OM - Memory_alloc> return (0x4ed78)
@0x000a8921:[T:0x4001eb80] CE - Engine_createNode(0x4ecc0, 'h264enc', 2496,
0x0, 0x0, 0xbee67aec)
@0x000a89bd:[T:0x4001eb80] CE - Engine> allocNode Enter(engine=0x4ecc0,
impId='h264enc')
@0x000a8a3c:[T:0x4001eb80] OM - Memory_alloc> Enter(0x20)
@0x000a8ab6:[T:0x4001eb80] OM - Memory_alloc> return (0x4c580)
@0x000a8b43:[T:0x4001eb80] CE - Engine> allocNode(). Calling
Comm_create(gppfromnode_4218_1, 0x4c588, NULL)
@0x000a8bc5:[T:0x4001eb80] OC - Comm_create>
Enter(queueName='gppfromnode_4218_1', queue=0x4c588, attrs=0x0)
@0x000a8c42:[T:0x4001eb80] OM - Memory_alloc> Enter(0x4)
@0x000a8cba:[T:0x4001eb80] OM - Memory_alloc> return (0x4e8a0)
@0x000a8f27:[T:0x4001eb80] OC - Comm_create> return (0x4e8a0)
@0x000a8fe4:[T:0x4001eb80] OC - Comm_put> Enter(queue=0x0, msg=0x415eec80)
@0x000a90bd:[T:0x4001eb80] OC - Comm_put> return (0)
@0x000a9148:[T:0x4001eb80] OC - Comm_get> Enter(queue=0x10000, msg=0xbee67a04,
timeout=-1)
@0x000af2f1:[T:0x4001eb80] OC - Comm_get> MSGQ_get() status=0x8000, return (0)
@0x000af3cb:[T:0x4001eb80] OC - Comm_put> Enter(queue=0x0, msg=0x415eec80)
@0x000af4aa:[T:0x4001eb80] OC - Comm_put> return (0)
@0x000af56c:[T:0x4001eb80] OC - Comm_get> Enter(queue=0x10000, msg=0xbee67a04,
timeout=-1)
@0x000afb2d:[T:0x4001eb80] OC - Comm_get> MSGQ_get() status=0x8000, return (0)
@0x000afc02:[T:0x4001eb80] CE - Engine_createNode> created node(stdIn=0x2,
stdOut=0x10001, msgq=0x4e8a0, algName='h264enc', rmsNode=0x8fa46f48,
algHandle=0x8fa47030)
@0x000b0151:[T:0x4001eb80] CE - Engine_createNode> Returning 0x4c580
@0x000b01e3:[T:0x4001eb80] OM - Memory_alloc> Enter(0x4)
@0x000b026d:[T:0x4001eb80] OM - Memory_alloc> return (0x4e8b0)
@0x000b02f0:[T:0x4001eb80] OC - Comm_alloc> Enter(poolId=0x0, msg=0x4e8b0,
size=2496)
@0x000b03a6:[T:0x4001eb80] OC - Comm_alloc> msg=0x415efc80, returning (0)
@0x000b044a:[T:0x4001eb80] CV - VISA_create> remote codec created
(name='h264enc', localQueueID=0x10001, remoteQueueID=0x0002)
@0x000b04e5:[T:0x4001eb80] ti.sdo.ce.video1.VIDENC1 - VIDENC1_create> return
(0x4ed78)
On Thu, Jun 18, 2009 at 09:40:50AM -0500, Ring, Chris wrote:
> Which version of CE are you using? I want to cross-check your trace output
> below against the actual sources.
>
> Your .cfg script below looks right, but the trace output [way] below
> indicates that the wrong .runtimeEnv is being pulled in. Namely, the trace
> indicates that the "LINUX" runtimeEnv rather than the "DSPLINK_LINUX"
> runtimeEnv is being used. Hmmm...
>
> Maybe your build is broken - can you provide a dump of your build log (should
> include a bunch of "will link with <package_name>:<lib_name(s)>" output - I'm
> curious to see which libs are getting linked in.
>
> Chris
>
> > -----Original Message-----
> > From: Ottavio Campana [mailto:[email protected]]
> > Sent: Thursday, June 18, 2009 7:01 AM
> > To: Ring, Chris
> > Cc: Ottavio Campana; [email protected]
> > Subject: Re: have you ever seen this error?
> >
> > (again, it seems the first time it did not have the list as
> > destination).
> >
> > It seems to be correct, I'll paste it so that you can check,
> > do you have
> > any other idea?
> >
> > var osalGlobal = xdc.useModule( 'ti.sdo.ce.osal.Global' );
> > osalGlobal.runtimeEnv = osalGlobal.DSPLINK_LINUX;
> >
> > var TraceUtil = xdc.useModule('ti.sdo.ce.utils.trace.TraceUtil');
> > TraceUtil.attrs = TraceUtil.FULL_TRACING;
> >
> > xdc.loadPackage("ti.sdo.ce.video2");
> > xdc.loadPackage("ti.sdo.ce.video1");
> > xdc.loadPackage("ti.sdo.ce.video");
> > xdc.loadPackage("ti.sdo.ce.image1");
> > xdc.loadPackage("ti.sdo.ce.audio1");
> > xdc.loadPackage("ti.sdo.ce.audio");
> > xdc.loadPackage("ti.sdo.ce.speech1");
> > xdc.loadPackage("ti.sdo.ce.speech");
> >
> > var Engine = xdc.useModule('ti.sdo.ce.Engine');
> >
> > var encode = Engine.createFromServer(
> > "encode",
> > "./encodeCombo.x64P",
> > "ti.sdo.servers.encode"
> > );
> >
> >
> > On Thu, Jun 18, 2009 at 08:04:55AM -0500, Ring, Chris wrote:
> > > Double check that your ARM-side .cfg script is correctly
> > setting the OSAL .runtimeEnv to "DSPLINK_LINUX". Something like this:
> > >
> > > ======================================
> > > /* Load support for the Codec Engine OSAL */
> > > var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
> > >
> > > /* Configure CE to use it's DSP Link Linux version */
> > > osalGlobal.runtimeEnv = osalGlobal.DSPLINK_LINUX;
> > > ======================================
> > >
> > > If it's [incorrectly] set to "osalGlobal.LINUX", you may
> > get that error.
> > >
> > > Chris
> > >
> > > > -----Original Message-----
> > > > From: [email protected]
> > > > [mailto:[email protected]
> > > > ] On Behalf Of Ottavio Campana
> > > > Sent: Thursday, June 18, 2009 2:19 AM
> > > > To: [email protected]
> > > > Subject: Re: have you ever seen this error?
> > > >
> > > > On Thu, Jun 18, 2009 at 10:53:15AM +0200, Vladimir Pantelic wrote:
> > > > > Ottavio Campana wrote:
> > > > > >I'm trying to develop my application based on encodeCombo
> > > > on a dm6446.
> > > > > >
> > > > > >When I try to open codec engine I get this error:
> > > > > >
> > > > > >Processor_create: execv failed: Permission denied
> > > > > >Comm_locate:msgget: No such file or directory
> > > > > >error: could not open engine encode : Unable to locate the
> > > > server on the
> > > > > >DSP
> > > > >
> > > > > well, where is your DSP file? CE tries to find the DSP
> > > > server file and
> > > > > fails.
> > > > > most demo setups expect it in the same folder as the
> > app, so check.
> > > >
> > > > I do have encodeCombo.x64P in the same directory. While
> > > > looking in
> > > > google, I found how to get more debug information, so,
> > > > by setting
> > > > CE_DEBUG=2 here is what I get:
> > > >
> > > > @0,560,910us: [+6 T:0x4001eb80] CE - Engine_init> CE
> > > > debugging on (CE_DEBUG=2; allowed CE_DEBUG levels: 1=min,
> > > > 2=good, 3=max)
> > > > @0,561,232us: [+0 T:0x4001eb80] CS - Server_init()
> > > > @0,561,382us: [+0 T:0x4001eb80] CS - Server_init>
> > > > Global_useLinkArbiter = 0
> > > > @0,561,767us: [+0 T:0x4001eb80] CE - Engine_open>
> > > > Enter('encode', 0x0, 0xbe81fb8c)
> > > > @0,562,047us: [+0 T:0x4001eb80] CE -
> > > > rserverOpen('encodeCombo.x64P'), count = 0
> > > > @0,562,207us: [+0 T:0x4001eb80] OP - Processor_create>
> > > > Enter(imageName='encodeCombo.x64P', attrs=0xbe81fb40)
> > > > @0,565,950us: [+0 T:0x4001eb80] OP - Processor_create> return
> > > > (0x37c50)
> > > > @0,566,243us: [+0 T:0x4001eb80] CE -
> > > > rserverOpen('encodeCombo.x64P'): 0x2da78 done.
> > > > Processor_create: execv failed: Permission denied
> > > > @0,571,824us: [+0 T:0x4001eb80] OP - Processor_create> return
> > > > (0x37c50)
> > > > @0,573,300us: [+0 T:0x4001eb80] CE -
> > > > rserverOpen('encodeCombo.x64P'): 0x2da78 done.
> > > > Comm_locate:msgget: No such file or directory
> > > > @10,569,223us: [+0 T:0x4001eb80] CE - Engine_close(0x37d48)
> > > > Comm_put: Invalid argument
> > > > @10,571,436us: [+0 T:0x4001eb80] CE -
> > rserverClose(0x2da78), count = 1
> > > > @10,571,624us: [+0 T:0x4001eb80] OP - Processor_delete>
> > > > Enter(proc=0x37c50)
> > > > @10,571,880us: [+1 T:0x4001eb80] OP -
> > > > Processor_delete(0x37c50) freeing object ...
> > > > @10,572,052us: [+0 T:0x4001eb80] OP - Processor_delete> return.
> > > > @10,572,184us: [+0 T:0x4001eb80] CE - rserverClose(0x2da78) done.
> > > > @10,572,318us: [+0 T:0x4001eb80] CE - Engine_open> return(0)
> > > > error: could not open engine encode : Unable to locate the
> > > > server on the DSP
> > > >
> > > > So, "rserverOpen('encodeCombo.x64P'): 0x2da78 done"
> > > > gives me the
> > > > idea that it works correctly. But immediately after
> > > > that I get
> > > > "Processor_create: execv failed: Permission denied"
> > > >
> > > > What can it be? Anything DSP related?
> > > >
> > > > --
> > > > Non c'è più forza nella normalità, c'è solo monotonia.
> > > >
> > > > _______________________________________________
> > > > Davinci-linux-open-source mailing list
> > > > [email protected]
> > > >
> > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
> > > >
> > --
> > Non c'è più forza nella normalità, c'è solo monotonia.
> >
> >
--
Non c'è più forza nella normalità, c'è solo monotonia.
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source