[AsteriskBrasil] INIT_WORK (Zaptel 1.2.12 + Linux 2.6.20)

asterisk@azimoveis.com.br asterisk em azimoveis.com.br
Segunda Fevereiro 5 09:01:59 BRST 2007


Bom dia lista,

Neste final de semana (ontem) me deparei com o seguinte problema: zaptel não
compilava, nem com reza. A saída de um "make linux26" foi a seguinte:

  CC [M] /usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.o
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c:88: warning: `kmem_cache_t' is
deprecated (declared at include/linux/slab.h:17)
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c:346:83: macro "INIT_WORK" passed
3 arguments, but takes just 2
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c: In function `xbus_activate':
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c:346: error: `INIT_WORK'
undeclared (first use in this function)
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c:346: error: (Each undeclared
identifier is reported only once
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c:346: error: for each function it
appears in.)
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c: At top level:
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c:213: warning: `xbus_poll'
defined but not used
make[3]: *** [/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.o] Error 1
make[2]: *** [/usr/src/asterisk/zaptel-1.2.12/xpp] Error 2
make[1]: *** [_module_/usr/src/asterisk/zaptel-1.2.12] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.20'
make: *** [linux26] Error 2
resurec:/usr/src/asterisk/zaptel-1.2.12#


Fui até o bugs.digium.com e postei que o zaptel não compilava no kernel 2.6.20.
Após uma googlada, encontrei um link referente ao kernel 2.6.20-rc1, alguém com
o mesmo problema no INIT_WORK().
O que eu fiz foi comentar a linha 346 de xpp/xbus-core.c e fazer como estava no
link, substituindo
INIT_WORK(&xbus->xpds_init_work, (void (*)(void *))xbus_poll, (void *)xbus);
por
INIT_WORK(&xbus->xpds_init_work, xbus_poll);
e compilou "certinho".
Saída:
 CC [M]  /usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.o
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c:88: warning: `kmem_cache_t' is
deprecated (declared at include/linux/slab.h:17)
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c: In function `xbus_activate':
/usr/src/asterisk/zaptel-1.2.12/xpp/xbus-core.c:347: warning: assignment from
incompatible pointer type

Não sei se o remendo está certo e peço para quem puder ajudar:
http://bugs.digium.com/view.php?id=8982


Att, Ruy Rocha.


Mais detalhes sobre a lista de discussão AsteriskBrasil