Summary:ASTERISK-06870: [patch] aelparse linking
Reporter:Jeffrey C. Ollie (jcollie)Labels:
Date Opened:2006-04-28 12:21:16Date Closed:2006-05-01 14:26:09
Versions:Frequency of
Environment:Attachments:( 0) aelparse-link.patch
Description:Recent changes to AEL in trunk have switched to using ast_calloc for memory allocation/management.  When AEL is linked into the standalone aelparse ast_calloc was not available.  Attached patch fixes that by using include/asterisk/utils.h.  Patch also removes the copy of ast_copy_string and uses the one in include/asterisk/strings.h
Comments:By: Joshua C. Colp (jcolp) 2006-04-28 12:24:00

Since you're hacking away at the AEL2 stuff so much rizzo, thought you might want to take a look at this.

By: Andrey S Pankov (casper) 2006-04-28 16:07:22

rizzo needs a reminder, not just a note :) That's the only bug with him...

By: Luigi Rizzo (rizzo) 2006-04-29 00:20:39

i am not sure i understand, is this a feature request or
is there something that doesn't compile in trunk ?
I am asking because apparently i am able to build utils/aelparse
just fine...

By: Jeffrey C. Ollie (jcollie) 2006-04-29 00:41:08

When you build Asterisk with dont-optimize, I get the following errors:

gcc  -DT38_SUPPORT  -pipe  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3  -Iinclude -I../include   -Wno-pointer-sign -march=i686          -include ../include/autoconfig.h -c -g -o ael_main.o ael_main.c
gcc  -DT38_SUPPORT  -pipe  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3  -Iinclude -I../include   -Wno-pointer-sign -march=i686          -g -o aelparse ../pbx/ael/aelflex.o ../pbx/ael/aelbison.o ael_main.o ../pbx/pbx_ael.o ../ast_expr2f.o ../ast_expr2.o
../pbx/ael/aelbison.o: In function `ael_yyparse':
/home/jcollie/ast-dev/asterisk-trunk-aelparse-test/pbx/ael.y:464: undefined reference to `_ast_calloc'
../pbx/ael/aelbison.o: In function `ael_token_subst':
/home/jcollie/ast-dev/asterisk-trunk-aelparse-test/pbx/ael.y:905: undefined reference to `_ast_calloc'
../pbx/ael/aelbison.o: In function `npval':
/home/jcollie/ast-dev/asterisk-trunk-aelparse-test/pbx/ael.y:945: undefined reference to `_ast_calloc'

By: Andrey S Pankov (casper) 2006-04-29 04:34:27

jcollie: do you have astmm enabled?

I successfully build r23304 without astmm.

By: Luigi Rizzo (rizzo) 2006-04-30 04:05:52

josh, i understand where the problem is though i cannot reproduce it.
Your patch makes sense so please go ahead and commit it if it fixes
the bug.
If i had time, probably i would just remove the ast_copy_string
from the code and then link with utils.o so we get the objects
withouth having to put those obfuscating #defines in the source
code. But again, i don't have time to test this now so do whatever
you feel is more appropriate.

By: Andrey S Pankov (casper) 2006-04-30 10:21:43

jcollie: Can you check this again after several Kevin's changes please...

By: Jeffrey C. Ollie (jcollie) 2006-05-01 13:55:42

casper,the problems are still there...

By: Russell Bryant (russell) 2006-05-01 14:24:46

added to the trunk in rev 23984, thanks!