On Sat, Apr 14, 2007 at 01:58:22PM +0200, Axel Thimm wrote:
> On Fri, Apr 13, 2007 at 03:47:15PM -0400, Jerry Geis wrote:
> > I am getting the following compile error on centos 5. Any suggestions?
> > Jerry
> 
> I can't tell you waht went wrong in your build, but there are apckages
> of zaptel available at http://atrpms.net/dist/el5/zaptel/
> 
> > CC [M] /usr/src/digium/zaptel-1.4.1/xpp/xbus-core.o
> > /usr/src/digium/zaptel-1.4.1/xpp/xbus-core.c: In function 
> > ‘debugfs_open’:
> > /usr/src/digium/zaptel-1.4.1/xpp/xbus-core.c:171: error: ‘struct inode’ 
> > has no member named ‘u’
> > /usr/src/digium/zaptel-1.4.1/xpp/xbus-core.c: In function 
> > ‘proc_xbus_command_write’:
> > /usr/src/digium/zaptel-1.4.1/xpp/xbus-core.c:1108: warning: format ‘%d’ 
> > expects type ‘int’, but argument 6 has type ‘long int’
> > /usr/src/digium/zaptel-1.4.1/xpp/xbus-core.c:1118: warning: format ‘%d’ 
> > expects type ‘int’, but argument 6 has type ‘long int’
> > make[4]: *** [/usr/src/digium/zaptel-1.4.1/xpp/xbus-core.o] Error 1
> > make[3]: *** [/usr/src/digium/zaptel-1.4.1/xpp] Error 2
> > make[2]: *** [_module_/usr/src/digium/zaptel-1.4.1] Error 2
> > make[2]: Leaving directory `/usr/src/kernels/2.6.18-8.1.1.el5-x86_64'
> > make[1]: *** [modules] Error 2
> > make[1]: Leaving directory `/usr/src/digium/zaptel-1.4.1'
> > make: *** [all] Error 2
> > [EMAIL PROTECTED] zaptel-1.4.1]#

If you read slightly around line 171 in xbus-core, you'll find:

 * As part of the "inode diet" the private data member of struct inode
 * has changed in 2.6.19. However, Fedore Core 6 adopted this change
 * a bit earlier (2.6.18). If you use such a kernel, Change the
 * following test from 2,6,19 to 2,6,18.
 */
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
#define I_PRIVATE(inode)        ((inode)->u.generic_ip)
#else
#define I_PRIVATE(inode)        ((inode)->i_private)
#endif


So how do we know if the kernel has gone through inode diet?

The inode diet patches, as backported into the Centos5 kernel srpm,
contain no extra define to test by.

Looking in the spec file of the source RPM I see that the inode diet
patches were required for the gfs2 backport patches. And the gfs2
patches do seem to add some extra defines. So here is my direction for a
patch:

Index: xpp/xbus-core.c
===================================================================
--- xpp/xbus-core.c     (revision 2425)
+++ xpp/xbus-core.c     (working copy)
@@ -40,6 +40,7 @@
 #include "xbus-core.h"
 #ifdef XPP_DEBUGFS
 #include "xpp_log.h"
+#include <linux/fs.h> /* To detect RHEL kernel inode diet backport */
 #endif
 #include "zap_debug.h"

@@ -160,7 +161,8 @@
  * a bit earlier (2.6.18). If you use such a kernel, Change the
  * following test from 2,6,19 to 2,6,18.
  */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) \
+  || ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) && defined(iFS_SYNC_FL) )
 #define        I_PRIVATE(inode)        ((inode)->u.generic_ip)
 #else
 #define        I_PRIVATE(inode)        ((inode)->i_private)


Hopefully the syntax is correct and this works as planned, but I don't 
have a centos 5 system to test this on right now.

-- 
               Tzafrir Cohen       
icq#16849755                    jabber:[EMAIL PROTECTED]
+972-50-7952406           mailto:[EMAIL PROTECTED]       
http://www.xorcom.com  iax:[EMAIL PROTECTED]/tzafrir
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to