error: field `fatx_i' has incomplete type

I'm trying to compile a 2.4.26 kernel but I have to apply two patches to it.

The patches are:

linux-2.4.26-xbox.patch
openMosix-2.4.26-1

This is the reason that it doesn't compile. There is only one error but I'm not familiar with C or C++(Unfortunately only Java and some lower-level languages:(). I realize this error could lead to more errors when fixed but I'd really need some help here and it might be worth a shot.

---I applied the xbox patch second---

here's my output:

Gentoo linux # make bzImage
scripts/split-include include/linux/autoconf.h include/config
gcc -D__KERNEL__ -I/usr/src/linux-2.4.26/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686   -DKBUILD_BASENAME=main -c -o init/main.o init/main.c
In file included from /usr/src/linux-2.4.26/include/linux/capability.h:17,
                 from /usr/src/linux-2.4.26/include/linux/binfmts.h:5,
                 from /usr/src/linux-2.4.26/include/linux/sched.h:9,
                 from /usr/src/linux-2.4.26/include/linux/mm.h:4,
                 from /usr/src/linux-2.4.26/include/linux/slab.h:14,
                 from /usr/src/linux-2.4.26/include/linux/proc_fs.h:5,
                 from init/main.c:15:
/usr/src/linux-2.4.26/include/linux/fs.h:526: error: field `fatx_i' has incomplete type
make: *** [init/main.o] Error 1

Here's the code around those lines in the file /usr/src/linux-2.4.26/include/linux/fs.h:

       union {
                struct minix_inode_info         minix_i;
                struct ext2_inode_info          ext2_i;
                struct ext3_inode_info          ext3_i;
                struct hpfs_inode_info          hpfs_i;
                struct ntfs_inode_info          ntfs_i;
                struct msdos_inode_info         msdos_i;
                struct umsdos_inode_info        umsdos_i;
                struct iso_inode_info           isofs_i;
                struct nfs_inode_info           nfs_i;
                struct sysv_inode_info          sysv_i;
                struct affs_inode_info          affs_i;
               struct ufs_inode_info           ufs_i;
                struct efs_inode_info           efs_i;
                struct romfs_inode_info         romfs_i;
                struct shmem_inode_info         shmem_i;
                struct coda_inode_info          coda_i;
                struct smb_inode_info           smbfs_i;
                struct hfs_inode_info           hfs_i;
                struct adfs_inode_info          adfs_i;
                struct qnx4_inode_info          qnx4_i;
                struct reiserfs_inode_info      reiserfs_i;
                struct bfs_inode_info           bfs_i;
                struct udf_inode_info           udf_i;
                struct ncp_inode_info           ncpfs_i;
                struct proc_inode_info          proc_i;
                struct socket                   socket_i;
                struct usbdev_inode_info        usbdev_i;
                struct jffs2_inode_info         jffs2_i; 
---526---    struct fatx_inode_info          fatx_i;          ---LINE 526---
                void                            *generic_ip;
#ifdef CONFIG_MOSIX
                struct remote_inode_info        remote_i;
#endif /* CONFIG_MOSIX */
        } u;
#ifdef CONFIG_MOSIX
        uint64_t                i_unique;
#endif /* CONFIG_MOSIX */
};

I don't know if this is useful or not but fatx is a filesystem for xbox's. It makes sense that I would run into an error somewhere around here because fatx was definitely applied by the xbox patch and the CONFIG_MOSIX parts were definitely applied by the mosix patch.

Can anyone help me or need more info?

Thanks,
Lateralus01

Do the patches conflict? The cause of the error is likely that "struct fatx_inode_info" is not defined, or the file where it is defined is not pulled in correctly.

Sounds like its defined somewhere, but one of the fields in that structure are not defined. Grep for the definition of fatx_inode_info to investigate farther.