[Yaffs] Problems compiling YAFFS direct interface.

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Michael Erickson
Date:  
To: yaffs
Subject: [Yaffs] Problems compiling YAFFS direct interface.
Hello all,

Just wondering if anyone has actually ever used the direct interface. I
got the latest version out of CVS yesterday. When I try and build the
code I get the following error:

[snip]
mikee 03:57 PM $ make all
ln -s ../devextras.h devextras.h
ln -s ../yaffs_ecc.c yaffs_ecc.c
ln -s ../yaffs_ecc.h yaffs_ecc.h
ln -s ../yaffs_guts.c yaffs_guts.c
ln -s ../yaffs_guts.h yaffs_guts.h
ln -s ../yaffsinterface.h yaffsinterface.h
ln -s ../yportenv.h yportenv.h
gcc -c -Wall -DCONFIG_YAFFS_DIRECT -DCONFIG_YAFFS_SHORT_NAMES_IN_RAM -g
dtest.c -o dtest.o
In file included from dtest.c:9:
yaffsfs.h:169: warning: no semicolon at end of struct or union
yaffsfs.h:169: error: syntax error before '.' token
yaffsfs.h:170: error: syntax error before '.' token
yaffsfs.h:171: error: syntax error before '.' token
dtest.c: In function `copy_in_a_file':
dtest.c:18: warning: implicit declaration of function `open'
dtest.c:21: warning: implicit declaration of function `read'
dtest.c:32: warning: implicit declaration of function `close'
dtest.c: In function `dumpDirFollow':
dtest.c:184: error: storage size of `s' isn't known
dtest.c:222: warning: int format, off_t arg (arg 3)
dtest.c:184: warning: unused variable `s'
dtest.c: In function `dumpDir':
dtest.c:229: error: storage size of `s' isn't known
dtest.c:267: warning: int format, off_t arg (arg 3)
dtest.c:229: warning: unused variable `s'
dtest.c: In function `long_test':
dtest.c:306: error: storage size of `ystat' isn't known
dtest.c:468: warning: int format, off_t arg (arg 2)
dtest.c:518: warning: implicit declaration of function `yaffs_DumpDevStruct'
dtest.c:306: warning: unused variable `ystat'
dtest.c: In function `cache_bypass_bug_test':
dtest.c:621: warning: unused variable `i'
make: *** [dtest.o] Error 1
[/snip]

I've searched through the code quite a bit but can't seem to come up
with what is wrong with the structure. It seems as though my development
system's header files are over-riding something.

Is YAFFS direct compile-able on a Linux box?
Can I _not_ include standard headers?

The documentation on the direct interface says the following:

[snip]
Compilation Configuration

Configuration is done in four places:
    * yaffscfg.c: OS specific functions
    * yaffscfg.h: Preferably only change YAFFSFS_N_HANDLES, the
      number of files that can be simultaneously opened.
    * yportenv.h: Preferably do not change this.
    * Compile options. The valid compile options for the YAFFS
      direct interface are:
    * CONFIG_YAFFS_DIRECT must be enabled to use the direct
      interface.
    * CONFIG_YAFFS_SHORT_NAMES_IN_RAM define to enable short name
      caching. This is suggested in cases unless RAM is very
      limited.
[/snip]


I checked yaffscfg.c and it appeared to have reasonably stubbed-out
functions which should allow the system to compile.

Everything else listed there says to not change it. So, I guess I'm
stuck for the moment.

Any input would be greatly appreciated.

Thanks,
    --mike


--
Michael Erickson
Senior Software Engineer
Logic Product Development
(612) 436-5118
mailto:mikee@logicpd.com
http://www.logicpd.com