Hi Kenneth, I also had a some of the same compilation problems with the functions "yaffs_flush_file(...)" and "yaffs_flush_whole_cache(...)" having too few arguments. I believe the problem was introduced in this commit: http://www.aleph1.co.uk/gitweb?p=yaffs2.git;a=commit;h=30f956c32c235e6b5fa77fb29965ababbd497561 As you can see from the commit (looking at yaffs_guts.h changeset), one extra parameter was added to both functions' declarations "yaffs_flush_file(...)" and "yaffs_flush_whole_cache(...)" and not all functions' usage were properly updated to add that extra function parameter when they were used, hence our problem. This doesn't really fix your issue, but I just wanted to let you know a little more about the issue. I'm not sure when/who/how this will get fixed. Good luck. - Sean Seifert EMBEDDED SOFTWARE ENGINEER Appareo Systems, LLC 1810 NDSU Research Circle N Fargo ND 58102 P: (701) 356-2200 Ext 349 F: (701) 356-3157 sseifert@appareo.com NOTICE: This message {including attachments} is covered by the Electronic Communication Privacy Act, 18 U.S.C. sections 2510-2521, is confidential and may also be protected by attorney-client or other privilege. If you believe that it has been sent to you in error, do not read it. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error and then delete it. On Sun, Nov 9, 2014 at 5:26 PM, Kenneth Ingham wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > 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 > -----BEGIN PGP SIGNATURE----- > > iQIcBAEBCgAGBQJUX/g3AAoJEN0TsnzrrYbVEyIP/RmFlSNeNpdwTJxZYinWtKbT > qJXUIWkKAgyYBl7ORf9QikCIYAHSQmKuAGe6Vvj76IR3tIZfAxUConF7mnpwgWq9 > x+5rGHayvxJq/LCQ1iNpOI7fAV2ye3OXyjiyDq6SuEE9ymw7OsrGavFnrvlrBBYm > xUULd2jiBWyisN2hQtw7sJVF+r/53q+cJr9rrfQhQ881rxuddVg2o75/MIJ+tlE7 > FXHJQAsOq7wa4ns1aOE1+73ZIBrqN28oljKjvYkRILRfJDx4wOXJ3skc7o0QvRav > Xa/L4mh1OjVZ1LyC6PD8gSlG4NR2vxHnxHwoOwkd43aDp911wVt8looHlBxK2VEi > KpvxNHfoAkpN8PCnPCyAqgSSjqWwWV2wxb6hnyYhLC3n4Q9VhUnnTcIowRx0HZY9 > FlnXv08Mr1t3U2aMLTFqf+1Ir2o5bHgR8pGBadfBcsvFZT/enGbfD2qcNLHJx0Mt > gHwIJq8RVnIiKgS1QhPp8XqLZkMgrykbiuRK/HPS6VrBbGm02r+j5XHchXGtqxEQ > ihT4edsa9CEmuwSLIjdeahOKZp5+eQe/U2LKyiVRVRh4tY30CA0OgFxQMZ4TYP6B > GJkZ63rDkt+wpdqW9oY6yz3iaV8E9E9BOc7rRH8YdVK5VeK7aYWAoVPiMNPJss3l > c8Q8fiNMRN9qktE2ZFTZ > =YPYU > -----END PGP SIGNATURE----- > > _______________________________________________ > yaffs mailing list > yaffs@lists.aleph1.co.uk > http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs >