Problem in compiling dahdi drivers

Hello .

Tryinf to install dahdi drivers in slackware 13.0 , I get the next error

  1. make[2]: Leaving directory `/usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/firmware’
  2. make -C /lib/modules/2.6.29.6-smp/build SUBDIRS=/usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi DAHDI_INCLUDE=/usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
  3. make[2]: Entering directory `/usr/src/linux-2.6.29.6’
  4. CC [M] /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.o
  5. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘__qevent’:
  6. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:839: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  7. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:839: error: (Each undeclared identifier is reported only once
  8. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:839: error: for each function it appears in.)
  9. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘schluffen’:
  10. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:867: error: dereferencing pointer to incomplete type
  11. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:867: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  12. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:869: error: implicit declaration of function ‘signal_pending’
  13. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:870: error: implicit declaration of function ‘schedule’
  14. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:872: error: dereferencing pointer to incomplete type
  15. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:872: error: ‘TASK_RUNNING’ undeclared (first use in this function)
  16. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘dahdi_timer_ioctl’:
  17. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:3418: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  18. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘dahdi_chanandpseudo_ioctl’:
  19. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:4419: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  20. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘__dahdi_getbuf_chunk’:
  21. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:6075: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  22. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘__rbs_otimer_expire’:
  23. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:6263: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  24. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘__putbuf_chunk’:
  25. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:7203: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  26. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘dahdi_hdlc_finish’:
  27. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:7400: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  28. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘dahdi_hdlc_getbuf’:
  29. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:7441: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  30. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘process_timers’:
  31. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:7481: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  32. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c: In function ‘dahdi_transmit’:
  33. /usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.c:7764: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
  34. make[3]: *** [/usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi/dahdi-base.o] Error 1
  35. make[2]: *** [module/usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux/drivers/dahdi] Error 2
  36. make[2]: Leaving directory `/usr/src/linux-2.6.29.6’
  37. make[1]: *** [modules] Error 2
  38. make[1]: Leaving directory `/usr/src/dahdi-linux-complete-2.2.0.2+2.2.0/linux’
  39. make: *** [all] Error 2

What could be wrong ?

Thank you.

There is something wrong with include/linux/sched.h in your kernel. It should be present and define TASK_INTERRUPTIBLE.

It should compile with kernel 2.6.29. What have Slackware changed?

what should I do ?

Make sure you can find that header file. If not investigate why Slackware hasn’t installed it (e.g. missing packages). On 2.6 kernels, there tends to be some sort of “kernel development” package.

Locate the Slackware sources and find out if they include patches that remove the #define line from that file. If so, consider building a standard version of the kernel, or seeing if Slackware have an older kernel. Alternatively work out the impact of the changes and modify dahdi to compensate.

Check the pristine version of the kernel sources, to make sure that this is not a problem with 2.6.29 (although if it were, I don’t think you would have been the first to find it). If it really is missing, raise a bug report on issues.asterisk.org.

Consider using CentOS, as it is the de facto standard OS for Asterisk.

The file sched.h exist in my /usr/include/linux folder , and there is a define TASK_INTERRUPTIBLE. What next?

I Believe Slackware is the best linux for asterisk . And that is why is not packet managed . All from sources .

[quote=“spooky”]The file sched.h exist in my /usr/include/linux folder , and there is define TASK_INTERRUPTIBLE. What next ?

I Believe Slackware is the best linux for asterisk . And that is why is not packet managed . All from sources .[/quote]

It is probably looking for it in /usr/src/kernel…/include/linux. See if that exists.

Basically it is failing to find that define.

Primary development for Asterisk is done on CentOS, which makes CentOS the best version of Linux if you want an easy install.

This is the first time in slackware dahdi doing that . I do not know why . Because I am new to linux , I am asking for help .

Thank you for your time , but I don’t think I will change my Linux.