Re: [Yaffs] Error compiling on yaffs_fs.c

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Charles Manning
Date:  
To: yaffs
Subject: Re: [Yaffs] Error compiling on yaffs_fs.c
On Saturday 09 January 2010 04:11:25 Cristian Cudizio wrote:
> Hi,
> i've downloaded via CVS yaffs2 sources on a Oracle Enterprise Linux 5U4
> (equal to RH 5U4)
>
> but i've this errors on compilation :
> include/linux/config.h:6:2: warning: #warning Including config.h is
> deprecated. /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function
> ‘yaffs_readlink’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:506: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:510: error: ‘struct inode’ has
> no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function
> ‘yaffs_follow_link’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:530: error: ‘struct
> inode’ has no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:534:
> error: ‘struct inode’ has no member named ‘u’
> /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function ‘yaffs_lookup’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:570: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:574: error: ‘struct inode’ has
> no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:578: error: ‘struct
> inode’ has no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In
> function ‘yaffs_clear_inode’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:639: error:
> ‘struct inode’ has no member named ‘u’
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:654: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function
> ‘yaffs_delete_inode’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:675: error: ‘struct
> inode’ has no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In
> function ‘yaffs_file_flush’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:701: error:
> ‘struct inode’ has no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:
> In function ‘yaffs_readpage_nolock’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:732:
> error: ‘struct inode’ has no member named ‘u’
> /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function ‘yaffs_writepage’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:843: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function
> ‘yaffs_commit_write’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:994: warning: cast
> from pointer to integer of different size
> /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function ‘yaffs_FillInodeFromObject’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1066: error: ‘struct inode’ has no member
> named ‘i_blksize’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:1104: warning:
> assignment discards qualifiers from pointer target type
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1110: warning: assignment discards
> qualifiers from pointer target type /root/yaffs/tmp/yaffs2/yaffs_fs.c:1114:
> warning: assignment discards qualifiers from pointer target type
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1118: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function
> ‘yaffs_file_write’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:1170: error: ‘struct
> inode’ has no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In
> function ‘yaffs_hold_space’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:1228: error:
> ‘struct inode’ has no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:
> In function ‘yaffs_release_space’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:1247:
> error: ‘struct inode’ has no member named ‘u’
> /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function ‘yaffs_readdir’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1269: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function ‘yaffs_mknod’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1381: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function ‘yaffs_unlink’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1486: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:1490: error: ‘struct inode’ has
> no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function
> ‘yaffs_link’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1517: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:1523: error: ‘struct inode’ has
> no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function
> ‘yaffs_symlink’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1556: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:1558: error: ‘struct inode’ has
> no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function
> ‘yaffs_sync_object’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:1584: error: ‘struct
> inode’ has no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In
> function ‘yaffs_rename’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1608: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:1613: error: ‘struct inode’ has
> no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:1628: error: ‘struct
> inode’ has no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:1630:
> error: ‘struct inode’ has no member named ‘u’
> /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function ‘yaffs_setattr’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1656: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:1669: error: ‘struct inode’ has
> no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:1674: error: ‘struct
> inode’ has no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In
> function ‘yaffs_statfs’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:1692: error: ‘struct inode’ has no member
> named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c: In function
> ‘yaffs_flush_sb_inodes’: /root/yaffs/tmp/yaffs2/yaffs_fs.c:1767: error:
> ‘struct inode’ has no member named ‘u’ /root/yaffs/tmp/yaffs2/yaffs_fs.c:
> In function ‘yaffs_internal_read_super’:
> /root/yaffs/tmp/yaffs2/yaffs_fs.c:2063: warning: assignment discards
> qualifiers from pointer target type /root/yaffs/tmp/yaffs2/yaffs_fs.c:2347:
> warning: assignment discards qualifiers from pointer target type make[2]:
> *** [/root/yaffs/tmp/yaffs2/yaffs_fs.o] Error 1
> make[1]: *** [_module_/root/yaffs/tmp/yaffs2] Error 2
> make[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5-xen-x86_64'
> make: *** [modules] Error 2
>
>
>
>
> Kernel version is 2.6.18-164.el5xen
>
> What i'm missing?


This will be due to some backporting messing up the conditional compilation.

Try changing this:
--- yaffs_fs.c~    2010-01-11 12:39:36.000000000 +1300
+++ yaffs_fs.c    2010-01-11 12:39:36.000000000 +1300
@@ -151,7 +151,7 @@


/*#define T(x) printk x */

-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 18))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18))
#define yaffs_InodeToObjectLV(iptr) ((iptr)->i_private)
#else
#define yaffs_InodeToObjectLV(iptr) ((iptr)->u.generic_ip)

There might be some other oddities too.

-- Charles