Hi Michael, Michael Halcrow wrote the following on 10/05/2007 02:03 AM: > On Tue, Sep 11, 2007 at 04:45:25PM -0700, Stefan Farestam wrote: >> I downloaded this new version but couldn't get it to compile on my >> system (which I just upgraded to Ubuntu Gutsy with the latest set of c >> libraries etc). The compile error that I get is (when compiling using >> install.sh): >> >> ------------------------------------------------------------------- >> make[2]: Entering directory >> `/usr/src/linux-headers-2.6.22-11-generic' > > I just built and tested the latest release against 2.6.22. > > http://downloads.sourceforge.net/ecryptfs/ecryptfs-20071004.tar.bz2
I'm still having problems compiling when using the ubuntu edgy kernel. Did you compile against 2.6.22.9? It seems like some of the functions has changed their kernel interfaces in later versions of the kernel. I am using 2.6.22-12 (from ubuntu edgy) which appears to be conforming to 2.6.23 style interfaces. Not sure which kernel that 2.6.22-12 really is though since I noticed that the latest kernel release on kernel.org is 2.6.22.9 (for the 2.6.22 suite of kernels). Anyway, the following functions have changed definitions: fsstack_copy_attr_all vfs_link vfs_unlink vfs_symlink vfs_mkdir vfs_rmdir vfs_mknod vfs_rename Examples: --- fsstack_copy_attr_all 2.6.21.7: extern void fsstack_copy_attr_all(struct inode *dest, const struct inode *src, int (*get_nlinks)(struct inode *)); 2.6.22-12-generic: extern void fsstack_copy_attr_all(struct inode *dest, const struct inode *src); --- vfs_link 2.6.21.7: extern int vfs_link(struct dentry *, struct inode *, struct dentry *); 2.6.22-12-generic: extern int vfs_link(struct dentry *, struct vfsmount *, struct inode *, struct dentry *, struct vfsmount *); ---------------------------------------------------------------------------- It was easy to fix the arguments for fsstack_copy_attr_all, I just removed the extra "NULL" argument in the following places: dentry.c: fsstack_copy_attr_all(dentry->d_inode, lower_inode, NULL); inode.c: fsstack_copy_attr_all(new_dir, lower_new_dir_dentry->d_inode, NULL); inode.c: fsstack_copy_attr_all(old_dir, lower_old_dir_dentry->d_inode, NULL); inode.c: fsstack_copy_attr_all(inode, lower_inode, NULL); main.c: fsstack_copy_attr_all(inode, lower_inode, NULL); However, I wasn't sure which function to use to get the "struct vfsmount" for the inodes, which the new-style vfs functions require. So, I'm still stuck. Thanks for your efforts in updating! Will try out my previous test cases as soon as I can get ecryptfs to compile. /Stefan ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ eCryptfs-users mailing list eCryptfs-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecryptfs-users