[asterisk-bugs] [DAHDI-linux 0014166]: Fails to Compile on Fedora FC9 with Kernel 2.6.27 - related to new hrtimer

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Jan 13 17:20:58 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14166 
====================================================================== 
Reported By:                nterry
Assigned To:                
====================================================================== 
Project:                    DAHDI-linux
Issue ID:                   14166
Category:                   General
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2009-01-02 16:23 CST
Last Modified:              2009-01-13 17:20 CST
====================================================================== 
Summary:                    Fails to Compile on Fedora FC9 with Kernel 2.6.27 -
related to new hrtimer
Description: 
I'm trying to upgrade from dahdi-linux-2.0.0 to dahdi-linux-2.1.0.3. I get
compile errors which seem to relater to the new hrtimer interface. I'm
running FC9 with kernel 2.6.27.9. See the output below:

[root at homepc dahdi-linux-2.1.0.3]# uname -r
2.6.27.9-73.fc9.x86_64
[root at homepc dahdi-linux-2.1.0.3]# make
make -C /lib/modules/2.6.27.9-73.fc9.x86_64/build ARCH=x86_64
SUBDIRS=/usr/src/Asterisk/dahdi-linux-2.1.0.3/drivers/dahdi
DAHDI_INCLUDE=/usr/src/Asterisk/dahdi-linux-2.1.0.3/include
DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
make[1]: Entering directory `/usr/src/kernels/2.6.27.9-73.fc9.x86_64'
CC [M] /usr/src/Asterisk/dahdi-linux-2.1.0.3/drivers/dahdi/dahdi_dummy.o
/usr/src/Asterisk/dahdi-linux-2.1.0.3/drivers/dahdi/dahdi_dummy.c:94:
error: redefinition of ‘hrtimer_get_expires’
include/linux/hrtimer.h:250: error: previous definition of
‘hrtimer_get_expires’ was here
/usr/src/Asterisk/dahdi-linux-2.1.0.3/drivers/dahdi/dahdi_dummy.c:99:
error: redefinition of ‘hrtimer_set_expires’
include/linux/hrtimer.h:231: error: previous definition of
‘hrtimer_set_expires’ was here
make[2]: ***
[/usr/src/Asterisk/dahdi-linux-2.1.0.3/drivers/dahdi/dahdi_dummy.o] Error
1
make[1]: *** [_module_/usr/src/Asterisk/dahdi-linux-2.1.0.3/drivers/dahdi]
Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.27.9-73.fc9.x86_64'
make: *** [modules] Error 2
[root at homepc dahdi-linux-2.1.0.3]#

I don't know enough about this to fix it, but I can test it if required

Thanks
====================================================================== 

---------------------------------------------------------------------- 
 (0097680) stuart_edge (reporter) - 2009-01-13 17:20
 http://bugs.digium.com/view.php?id=14166#c97680 
---------------------------------------------------------------------- 
Apparently the high resolution timer (hrtimer) in introduced in this kernel
version 2.6.27.9-159.fc10

So if you change line 92 in
dahdi-linux-complete-2.1.0.3+2.1.0.2/linux/drivers/dahdi/dahdi_dummy.c
to KERNEL_VERSION(2,6,27)
it will compile.

Here the diff:

--- dahdi_dummy.orig 2009-01-12 18:23:11.000000000 +1100
+++ dahdi_dummy.c 2009-01-12 18:23:38.000000000 +1100
@@ -89,7 +89,7 @@
#define USB2420
#endif

-#if defined(USE_HIGHRESTIMER) && ( LINUX_VERSION_CODE <
KERNEL_VERSION(2,6,28)
+#if defined(USE_HIGHRESTIMER) && ( LINUX_VERSION_CODE <
KERNEL_VERSION(2,6,27) )
/* compatibility with new hrtimer interface */
static inline ktime_t hrtimer_get_expires(const struct hrtimer *timer)
{ 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-01-13 17:20 stuart_edge    Note Added: 0097680                          
======================================================================




More information about the asterisk-bugs mailing list