[Yaffs] Compile error in yaffs

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Kenneth Ingham
Date:  
To: yaffs
Subject: [Yaffs] Compile error in yaffs
I grabbed source via git today. Trying to compile, it dies with these
error messages:

# make
make -C /lib/modules/3.16.6-2-desktop/build M=/usr/src/yaffs2 modules
make[1]: Entering directory '/usr/src/linux-3.16.6-2-obj/x86_64/desktop'
make[1]: Entering directory `/usr/src/linux-3.16.6-2-obj/x86_64/desktop'
  CC [M]  /usr/src/yaffs2/yaffs_vfs_multi.o
/usr/src/yaffs2/yaffs_vfs_multi.c: In function ‘yaffs_file_flush’:
/usr/src/yaffs2/yaffs_vfs_multi.c:741:2: error: too few arguments to
function ‘yaffs_flush_file’
  yaffs_flush_file(obj, 1, 0);
  ^
In file included from /usr/src/yaffs2/yaffs_vfs_multi.c:173:0:
/usr/src/yaffs2/yaffs_guts.h:879:5: note: declared here
 int yaffs_flush_file(struct yaffs_obj *in,
     ^
/usr/src/yaffs2/yaffs_vfs_multi.c: In function ‘yaffs_sync_object’:
/usr/src/yaffs2/yaffs_vfs_multi.c:771:2: error: too few arguments to
function ‘yaffs_flush_file’
  yaffs_flush_file(obj, 1, datasync);
  ^
In file included from /usr/src/yaffs2/yaffs_vfs_multi.c:173:0:
/usr/src/yaffs2/yaffs_guts.h:879:5: note: declared here
 int yaffs_flush_file(struct yaffs_obj *in,
     ^
/usr/src/yaffs2/yaffs_vfs_multi.c: At top level:
/usr/src/yaffs2/yaffs_vfs_multi.c:781:14: error:
‘generic_file_aio_read’ undeclared here (not in a function)
  .aio_read = generic_file_aio_read,
              ^
/usr/src/yaffs2/yaffs_vfs_multi.c:782:15: error:
‘generic_file_aio_write’ undeclared here (not in a function)
  .aio_write = generic_file_aio_write,
               ^
/usr/src/yaffs2/yaffs_vfs_multi.c:787:18: error:
‘generic_file_splice_write’ undeclared here (not in a function)
  .splice_write = generic_file_splice_write,
                  ^
/usr/src/yaffs2/yaffs_vfs_multi.c: In function ‘yaffs_flush_inodes’:
/usr/src/yaffs2/yaffs_vfs_multi.c:2190:4: error: too few arguments to
function ‘yaffs_flush_file’
    yaffs_flush_file(obj, 1, 0);
    ^
In file included from /usr/src/yaffs2/yaffs_vfs_multi.c:173:0:
/usr/src/yaffs2/yaffs_guts.h:879:5: note: declared here
 int yaffs_flush_file(struct yaffs_obj *in,
     ^
/usr/src/yaffs2/yaffs_vfs_multi.c: In function ‘yaffs_flush_super’:
/usr/src/yaffs2/yaffs_vfs_multi.c:2203:2: error: too few arguments to
function ‘yaffs_flush_whole_cache’
  yaffs_flush_whole_cache(dev);
  ^
In file included from /usr/src/yaffs2/yaffs_vfs_multi.c:173:0:
/usr/src/yaffs2/yaffs_guts.h:885:6: note: declared here
 void yaffs_flush_whole_cache(struct yaffs_dev *dev, int discard);
      ^
/usr/src/linux-3.16.6-2/scripts/Makefile.build:273: recipe for target
'/usr/src/yaffs2/yaffs_vfs_multi.o' failed
make[4]: *** [/usr/src/yaffs2/yaffs_vfs_multi.o] Error 1
/usr/src/linux-3.16.6-2/Makefile:1359: recipe for target
'_module_/usr/src/yaffs2' failed
make[3]: *** [_module_/usr/src/yaffs2] Error 2
Makefile:195: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:24: recipe for target '__sub-make' failed
make[1]: *** [__sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-3.16.6-2-obj/x86_64/desktop'
Makefile:63: recipe for target 'modules' failed
make: *** [modules] Error 2


Checking the source, the error makes sense. The .h file declares the
function differently than the .c file does. Which is correct? I am
guessing the .c, but why the discrepancy?

- --
Kenneth

A people that values its privileges above its principles soon loses both.
- ---Dwight D. Eisenhower, First Inaugural Address, January 20, 1953