I'm trying to compile SQLite for the VxWorks 6.3 platform on an embedded target
(VxWorks in DKM rather than RTP) and have made fairly good progress but have
hit a brick wall.
I can get it to compile with the compile options listed below, however, when
run it gives "disk I/O error-SQLITE_IOERR_LOCK" (error code 0F0A).
The terminal console gives:
fcntl 0 38 SETLK RDLK 1073741824 1 0 -1
fcntl-failure-reason 0 38 SETLK RDLK 1073741824 1 0
The db file is created (and deleted when closed), but with zero contents. I
also do not see a journal file created at all even when journal mode is set to
"Persist".
I've tried changing the locking style (-SQLITE_ENABLE_LOCKING_STYLE) however
this gives me a shedload of compile errors for any value greater than "0" (see
below). SQLITE_NO_SYNC has no effect.
Any ideas?
=========================================
compiler options
-DSQLITE_OMIT_WAL=1 \
-DSQLITE_HOMEGROWN_RECURSIVE_MUTEX \
-DSQLITE_THREADSAFE=0 \
-DSQLITE_OMIT_LOAD_EXTENSION \
-DHAVE_UTIME \
-DSQLITE_LOCK_TRACE \
-DSQLITE_DEBUG=2 \
-DSQLITE_DEBUG_OS_TRACE=1
changes from sqlite 3.7.13
fchown and umask nulled (return constant zero pointer) e.g for umask on line
25558
#if defined(OS_VXWORKS)
{ "umask", (sqlite3_syscall_ptr)0, 0 },
#else
{ "umask", (sqlite3_syscall_ptr)posixUmask, 0 },
#endif
#define osUmask ((mode_t(*)(mode_t))aSyscall[21].pCurrent)
Compile errors when SQLITE_ENABLE_LOCKING_STYLE is set to a value >0
sqlite3.c:25517: error: `pread' undeclared here (not in a function)
sqlite3.c:25517: error: initializer element is not constant
sqlite3.c:25517: error: (near initialization for `aSyscall[9].pCurrent')
sqlite3.c:25517: error: initializer element is not constant
sqlite3.c:25517: error: (near initialization for `aSyscall[9]')
sqlite3.c:25526: error: initializer element is not constant
sqlite3.c:25526: error: (near initialization for `aSyscall[10]')
sqlite3.c:25530: error: initializer element is not constant
sqlite3.c:25530: error: (near initialization for `aSyscall[11]')
sqlite3.c:25534: error: `pwrite' undeclared here (not in a function)
sqlite3.c:25534: error: initializer element is not constant
sqlite3.c:25534: error: (near initialization for `aSyscall[12].pCurrent')
sqlite3.c:25534: error: initializer element is not constant
sqlite3.c:25534: error: (near initialization for `aSyscall[12]')
sqlite3.c:25544: error: initializer element is not constant
sqlite3.c:25544: error: (near initialization for `aSyscall[13]')
sqlite3.c:25550: error: initializer element is not constant
sqlite3.c:25550: error: (near initialization for `aSyscall[14]')
sqlite3.c:25559: error: initializer element is not constant
sqlite3.c:25559: error: (near initialization for `aSyscall[15]')
sqlite3.c:25563: error: initializer element is not constant
sqlite3.c:25563: error: (near initialization for `aSyscall[16]')
sqlite3.c:25566: error: initializer element is not constant
sqlite3.c:25566: error: (near initialization for `aSyscall[17]')
sqlite3.c:25569: error: initializer element is not constant
sqlite3.c:25569: error: (near initialization for `aSyscall[18]')
sqlite3.c:25572: error: initializer element is not constant
sqlite3.c:25572: error: (near initialization for `aSyscall[19]')
sqlite3.c:25576: error: initializer element is not constant
sqlite3.c:25576: error: (near initialization for `aSyscall[20]')
sqlite3.c:25583: error: initializer element is not constant
sqlite3.c:25583: error: (near initialization for `aSyscall[21]')#endif
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users