Compile problems with chan_capi and latest Asterisk port

Hans Petter Selasky hselasky at c2i.net
Thu May 3 16:41:49 UTC 2007


On Thursday 03 May 2007 09:52, Manfred Usselmann wrote:
> --On Donnerstag, 3. Mai 2007 08:53 +0200 Hans Petter Selasky
>
> <hselasky at c2i.net> wrote:
> > On Thursday 03 May 2007 01:13, Manfred Usselmann wrote:
> >> Hi,
> >>
> >> it looks like the latest version of CAPI4PBX (svn revision 485) does
> >> not compile with the latest Asterisk port 1.4.3:
> >>
> >> ===[root at icg-pc211] ~/download/i4b/trunk/chan_capi # gmake
> >> gcc -pipe -fPIC -Wall -Wmissing-prototypes -Wmissing-declarations -g
> >> -I/usr/local/include -I/usr/include/i4b/include -D_REENTRANT
> >> -D_GNU_SOURCE  -O6 -march=i386  -Wformat -DASTERISKVERSION=\"\"
> >> -Wno-missing-prototypes -Wno-missing-declarations -DCRYPTO   -c -o
> >> chan_capi.o chan_capi.c chan_capi.c:1396:2: warning: #warning "What
> >> about cd->next after free? Currently 'cd' is not freed by cd_free()."
> >> chan_capi.c: In function `cd_alloc':
> >> chan_capi.c:2376: error: too few arguments to function
> >> `ast_channel_alloc' chan_capi.c:4963:2: warning: #warning "Should send a
> >> messages, but which?" chan_capi.c:5116:2: warning: #warning "Cannot do
> >> this, because one cannot lock 'pbx_chan' here!" chan_capi.c:5644:2:
> >> warning: #warning "Maybe cannot write these variables here! Locking
> >> issue!" chan_capi.c:5655:2: warning:
> >> # warning "Does not handle length == 0xFF" chan_capi.c:7126:2: warning:
> >> # warning "TODO: check for calls that never received connect_conf;"
> >> # gmake:
> >> *** [chan_capi.o] Error 1
> >
> > Try a "svn update" and see if it does not compile now.
>
> Still having problems:
>
> "forcing Asterisk version 1.2.0" ?
>
>
> ===[root at icg-pc211] ~/download/i4b/trunk # svn --username anonsvn
> --password anonsvn checkout svn://svn.turbocat.net/i4b/trunk/chan_capi
> U    chan_capi/create_config.sh
> G    chan_capi/chan_capi.c
> Checked out revision 486.
>
>
> ===[root at icg-pc211] ~/download/i4b/trunk/chan_capi # gmake clean
> rm -f config.h
> rm -f *.so *.o
>
> ===[root at icg-pc211] ~/download/i4b/trunk/chan_capi # gmake
> ./create_config.sh "/usr/local/include"
> Checking Asterisk version...
>  * no 'struct ast_codec_pref'
>  * found 'struct ast_channel_tech'
>  * found 'ast_bridged_channel'
>  * found 'ast_bridge_result'
>  * found bridge with timeoutms
>  * ast_dsp_process() without 'needlock'
>  * found 'struct ast_callerid'
>  * found 'struct timeval delivery'
>  * found 'transfercapability'
>  * found 'ast_set_read_format'
>  * found 'ast_set_write_format'
>  * found 'ast_config_load'
>  * found 'AST_CONTROL_HOLD'
>  * found 'struct ast_custom_function'
>  * found 'devicestate.h'
>  * forcing Asterisk version 1.2.0
> config.h complete.
> gcc -pipe -fPIC -Wall -Wmissing-prototypes -Wmissing-declarations -g
> -I/usr/local/include -I/usr/include/i4b/include -D_REENTRANT -D_GNU_SOURCE
> -O6 -march=i386  -Wformat -DASTERISKVERSION=\"\" -Wno-missing-prototypes
> -Wno-missing-declarations -DCRYPTO   -c -o chan_capi.o chan_capi.c
> chan_capi.c:95: warning: type defaults to `int' in declaration of
> `STANDARD_LOCAL_USER'
> chan_capi.c:95: warning: data definition has no type or storage class
> chan_capi.c:96: warning: type defaults to `int' in declaration of
> `LOCAL_USER_DECL'
> chan_capi.c:96: warning: data definition has no type or storage class
> chan_capi.c:1398:2: warning: #warning "What about cd->next after free?
> Currently 'cd' is not freed by cd_free()."
> chan_capi.c: In function `cd_alloc':
> chan_capi.c:2384: error: too few arguments to function `ast_channel_alloc'
> chan_capi.c:2395: error: structure has no member named `type'
> chan_capi.c: In function `cd_set_cep':
> chan_capi.c:2549: warning: passing arg 1 of `strlcpy' discards qualifiers
> from pointer target type
> chan_capi.c:2552: warning: passing arg 1 of `strlcpy' discards qualifiers
> from pointer target type
> chan_capi.c: In function `chan_capi_request':
> chan_capi.c:3856: warning: passing arg 1 of `snprintf' discards qualifiers
> from pointer target type
> chan_capi.c:4969:2: warning: #warning "Should send a messages, but which?"
> chan_capi.c:5122:2: warning: #warning "Cannot do this, because one cannot
> lock 'pbx_chan' here!"
> chan_capi.c:5650:2: warning: #warning "Maybe cannot write these variables
> here! Locking issue!"
> chan_capi.c:5661:2: warning: #warning "Does not handle length == 0xFF"
> chan_capi.c: In function `cd_copy_telno_ext':
> chan_capi.c:5853: warning: passing arg 1 of `snprintf' discards qualifiers
> from pointer target type
> chan_capi.c: In function `chan_capi_command_exec':
> chan_capi.c:6945: warning: implicit declaration of function
> `LOCAL_USER_ADD' chan_capi.c:6979: error: structure has no member named
> `type'
> chan_capi.c:7033: warning: implicit declaration of function
> `LOCAL_USER_REMOVE'
> chan_capi.c:7132:2: warning: #warning "TODO: check for calls that never
> received connect_conf;"
> chan_capi.c: At top level:
> chan_capi.c:7537: error: unknown field `send_digit' specified in
> initializer chan_capi.c:7537: warning: initialization from incompatible
> pointer type chan_capi.c:7547: warning: initialization from incompatible
> pointer type chan_capi.c:8163: warning: initialization from incompatible
> pointer type chan_capi.c: In function `load_module':
> chan_capi.c:8338: warning: implicit declaration of function `unload_module'
> gmake: *** [chan_capi.o] Error 1

They changed the version numbering scheme from octal to decimal.

Ok, "svn update", "gmake clean" and try again.

I've now tested that it works :-)

And don't forget to zero out "if_ural.c" if you don't know what you are doing.

--HPS



More information about the freebsd-isdn mailing list