Trouble building dahdi with assignment from incompatible pointer type error


#1

Hi, I’m trying to compile the latest version of dahdi-linux from git with an error involving pointer trouble:

git clone git://git.asterisk.org/dahdi/linux dahdi-linux && cd dahdi-linux && make install
...
make -C /lib/modules/4.15.3-300.fc27.x86_64/build SUBDIRS=/root/dahdi-linux/drivers/dahdi DAHDI_INCLUDE=/root/dahdi-linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
make[1]: Entering directory '/usr/src/kernels/4.15.3-300.fc27.x86_64'
  CC [M]  /root/dahdi-linux/drivers/dahdi/dahdi-base.o
/root/dahdi-linux/drivers/dahdi/dahdi-base.c: In function ‘dahdi_ioctl_setconf’:
/root/dahdi-linux/drivers/dahdi/dahdi-base.c:5712:3: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
   memset(chan->conflast, 0, DAHDI_MAX_CHUNKSIZE);
   ^~~~~~
/root/dahdi-linux/drivers/dahdi/dahdi-base.c:5713:3: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
   memset(chan->conflast1, 0, DAHDI_MAX_CHUNKSIZE);
   ^~~~~~
/root/dahdi-linux/drivers/dahdi/dahdi-base.c:5714:3: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
   memset(chan->conflast2, 0, DAHDI_MAX_CHUNKSIZE);
   ^~~~~~
/root/dahdi-linux/drivers/dahdi/dahdi-base.c: In function ‘coretimer_init’:
/root/dahdi-linux/drivers/dahdi/dahdi-base.c:10153:2: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
  init_timer(&core_timer.timer);
  ^~~~~~~~~~
  init_timers
/root/dahdi-linux/drivers/dahdi/dahdi-base.c:10154:28: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
  core_timer.timer.function = coretimer_func;
                            ^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:317: /root/dahdi-linux/drivers/dahdi/dahdi-base.o] Error 1
make[1]: *** [Makefile:1512: _module_/root/dahdi-linux/drivers/dahdi] Error 2
make[1]: Leaving directory '/usr/src/kernels/4.15.3-300.fc27.x86_64'
make: *** [Makefile:74: modules] Error 2

This is on fedora27 with kernel-4.15.3-300


#2

This is a problem with the compatibility between kernel-4.15.3 and the current version of dahdi-linux drivers. I would assume later kernels would also have a problem.


#3

This is still a problem with fedora27 and kernels as recent as 4.16.3-200. Anyone else having a problem? Is there a beta version that I could try?


#4

Why this completely broken POS is included in the repos of Ubuntu 18.04.1 is beyond me. I have spent the last 12 hours trying to get this to work. The packages installed but the dkms.conf didn’t include the wcaxx driver so I had to fix that according to the bug report I found on launchpad. Then I still can’t get the damn service to run. No init script for it is ever installed. So after a few hours of messing with it I decided to try and build it from source. A few more hours of attempts go by and I finally found this post. Thanks for posting this as I would still be totally fuxored. Guess I’m going to have to go with some old version of ubuntu server to get this garbage working again.