[asterisk-users] error compiling dahdi for recent kernels

Greg Woods greg at gregandeva.net
Thu Jun 6 13:09:24 CDT 2019


Seems like I post about this about once a year, when it's time to upgrade
Fedora.

I first got this error trying to compile a patched version of
dahdi-linux-2.11.1; I noticed that there is now a
dahdi-linux-complete-3.0.0+3.0.0, so I tried that one with the same result.

If I compile it while running kernel-4.16.8-300.fc28.x86_64, it compiles
fine, but when I try to compile it while
running kernel-5.0.16-100.fc28.x86_64, I get this error:

CC [M]
 /local/src/dahdi/dahdi-linux-complete-3.0.0+3.0.0/linux/drivers/dahdi/oct612x/oct612x-user.o
/local/src/dahdi/dahdi-linux-complete-3.0.0+3.0.0/linux/drivers/dahdi/oct612x/oct612x-user.c:
In function ‘Oct6100UserGetTime’:
/local/src/dahdi/dahdi-linux-complete-3.0.0+3.0.0/linux/drivers/dahdi/oct612x/oct612x-user.c:38:2:
error: implicit declaration of function ‘do_gettimeofday’; did you mean
‘do_settimeofday64’? [-Werror=implicit-function-declaration]
  do_gettimeofday(&tv);
  ^~~~~~~~~~~~~~~
  do_settimeofday64
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:277:
/local/src/dahdi/dahdi-linux-complete-3.0.0+3.0.0/linux/drivers/dahdi/oct612x/oct612x-user.o]
Error 1
make[3]: *** [scripts/Makefile.build:492:
/local/src/dahdi/dahdi-linux-complete-3.0.0+3.0.0/linux/drivers/dahdi/oct612x]
Error 2
make[2]: *** [Makefile:1581:
_module_/local/src/dahdi/dahdi-linux-complete-3.0.0+3.0.0/linux/drivers/dahdi]
Error 2
make[2]: Leaving directory '/usr/src/kernels/5.0.16-100.fc28.x86_64'
make[1]: *** [Makefile:74: modules] Error 2
make[1]: Leaving directory
'/local/src/dahdi/dahdi-linux-complete-3.0.0+3.0.0/linux'
make: *** [Makefile:9: all] Error 2

At first I thought this might be due to using a newer version of gcc that
was being stricter about turning warnings into errors, but it compiles fine
with the older kernel. So I tried some stupid stuff like calling
do_gettimeofday64() instead; same error. I also tried the suggestion of
using settimeofday64() instead; different error (argument type mismatch,
but even if it had compiled, I wouldn't have expected that code to actually
work).  Also tried explicitly declaring "void do_gettimeofday()" (since the
return value isn't being used); different error.

I expect this isn't a hard thing to fix, but it has been many years since
I've done any C programming and I am quite rusty.

Anyone else run into this, and have a fix?

Thanks,
--Greg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20190606/0dab63e6/attachment.html>


More information about the asterisk-users mailing list