I think there is a bug in 3.7.2 when you define SQLITE_OMIT_WAL.  There 
are references to pagerPagecount() that cannot be resolved because that 
function is defined inside of a #ifndef SQLITE_OMIT_WAL.

I also keep seeing references to 3.7.3 in this list.  But the SQLite 
download page only has links for 3.7.2.  Where can I download 3.7.3?

-Scott

sqlite-users-boun...@sqlite.org wrote on 10/09/2010 07:38:24 AM:

> Hello Scott,
> 
>     I did some searching with these symbols, they should be in 
'libos.a'.
> 
> rtpLib.o - rtpVerifyAndLock
> 
> pgMgrLib.o - pgMgrPageFree, pgMgrPageAllocAt
> 
>     you should modify kernel components with your VIP project.
> 
> Best Regards,
> 
> Huang ZhiHua
> 
> 2010/10/9 Scott A Mintz <sami...@ra.rockwell.com>
> 
> > Thank you.  Those changes (modified slightly for 3.7.2) allowed me to
> > create a DKM project that compiles sqlite3.c to libSQLite3.a.
> >
> > However, when I link my main VIP project, I get the following 
unresolved
> > errors:
> > dld: warning: Undefined symbol 'rtpVerifyAndLock' in file 
'partialImage.o'
> > dld: warning: Undefined symbol 'pgMgrPageFree' in file 
'partialImage.o'
> > dld: warning: Undefined symbol 'pgMgrPageAllocAt' in file 
'partialImage.o'
> >
> > Those are not directly used by SQLite.  But I have a feeling that one 
or
> > more of the file I/O, semaphore, locking, or memory library system 
calls
> > are...
> >
> > -Scott
> >
> > sqlite-users-boun...@sqlite.org wrote on 10/08/2010 07:38:45 AM:
> >
> > > Hello Scott,
> > >
> > >     Below is my patch on the latest SQLite 3.7.3. Please notice that 
I
> > only
> > > verify it with GCC 4.1.2 compiler in VxWorks 6.6/6.7/6.8(I have not
> > verify
> > > it with my real target machine yet).
> > >
> > > *** sqlite3.c.orig    2010-10-08 10:42:22.000000000 +0800
> > > --- sqlite3.c    2010-10-08 19:24:18.390625000 +0800
> > > ***************
> > > *** 17,22 ****
> > > --- 17,26 ----
> > >   ** language. The code for the "sqlite3" command-line shell is also 
in
> > a
> > >   ** separate file. This file contains only code for the core SQLite
> > > library.
> > >   */
> > > + #if defined(OS_VXWORKS)
> > > + #include <vxWorks.h>
> > > + #endif /* OS_VXWORKS */
> > > +
> > >   #define SQLITE_CORE 1
> > >   #define SQLITE_AMALGAMATION 1
> > >   #ifndef SQLITE_PRIVATE
> > > ***************
> > > *** 22795,22801 ****
> > > --- 22799,22811 ----
> > >   #include <sys/stat.h>
> > >   #include <fcntl.h>
> > >   #include <unistd.h>
> > > +
> > > + #if defined(OS_VXWORKS) && defined(_WRS_KERNEL)
> > > + #include <sys/times.h>
> > > + #else
> > >   #include <sys/time.h>
> > > + #endif /* OS_VXWORKS */
> > > +
> > >   #include <errno.h>
> > >   #include <sys/mman.h>
> > >
> > > ***************
> > > *** 24945,24951 ****
> > > --- 24955,24965 ----
> > >   /*
> > >    ** Close a file.
> > >    */
> > > + #if (OS_VXWORKS < 600)
> > >   static int semClose(sqlite3_file *id) {
> > > + #else
> > > + static int semClose_native(sqlite3_file *id) {
> > > + #endif
> > >     if( id ){
> > >       unixFile *pFile = (unixFile*)id;
> > >       semUnlock(id, NO_LOCK);
> > > ***************
> > > *** 25581,25587 ****
> > > --- 25595,25607 ----
> > >       }
> > >       return -1;
> > >     }
> > > +
> > > + #if defined(OS_VXWORKS) && defined(_WRS_KERNEL)
> > > +   got = write(id->h, (char *)pBuf, cnt);
> > > + #else
> > >     got = write(id->h, pBuf, cnt);
> > > + #endif /* OS_VXWORKS */
> > > +
> > >   #endif
> > >     TIMER_END;
> > >     if( got<0 ){
> > > ***************
> > > *** 26762,26768 ****
> > > --- 26782,26792 ----
> > >     semIoFinder,              /* Finder function name */
> > >     semIoMethods,             /* sqlite3_io_methods object name */
> > >     1,                        /* shared memory is disabled */
> > > + #if (OS_VXWORKS < 600)
> > >     semClose,                 /* xClose method */
> > > + #else
> > > +   semClose_native,          /* xClose method */
> > > + #endif
> > >     semLock,                  /* xLock method */
> > >     semUnlock,                /* xUnlock method */
> > >     semCheckReservedLock      /* xCheckReservedLock method */
> > > ***************
> > > *** 27517,27523 ****
> > >     noLock = eType!=SQLITE_OPEN_MAIN_DB;
> > >
> > >
> > > ! #if defined(__APPLE__) || SQLITE_ENABLE_LOCKING_STYLE
> > >     struct statfs fsInfo;
> > >     if( fstatfs(fd, &fsInfo) == -1 ){
> > >       ((unixFile*)pFile)->lastErrno = errno;
> > > --- 27541,27547 ----
> > >     noLock = eType!=SQLITE_OPEN_MAIN_DB;
> > >
> > >
> > > ! #if (defined(__APPLE__) || SQLITE_ENABLE_LOCKING_STYLE) &&
> > > !defined(OS_VXWORKS)
> > >     struct statfs fsInfo;
> > >     if( fstatfs(fd, &fsInfo) == -1 ){
> > >       ((unixFile*)pFile)->lastErrno = errno;
> > > ***************
> > > *** 27530,27536 ****
> > >     }
> > >   #endif
> > >
> > > ! #if SQLITE_ENABLE_LOCKING_STYLE
> > >   #if SQLITE_PREFER_PROXY_LOCKING
> > >     isAutoProxy = 1;
> > >   #endif
> > > --- 27554,27560 ----
> > >     }
> > >   #endif
> > >
> > > ! #if SQLITE_ENABLE_LOCKING_STYLE && !OS_VXWORKS
> > >   #if SQLITE_PREFER_PROXY_LOCKING
> > >     isAutoProxy = 1;
> > >   #endif
> > > ***************
> > > *** 27793,27799 ****
> > >     ** tests repeatable.
> > >     */
> > >     memset(zBuf, 0, nBuf);
> > > ! #if !defined(SQLITE_TEST)
> > >     {
> > >       int pid, fd;
> > >       fd = open("/dev/urandom", O_RDONLY);
> > > --- 27817,27823 ----
> > >     ** tests repeatable.
> > >     */
> > >     memset(zBuf, 0, nBuf);
> > > ! #if !defined(SQLITE_TEST) && !defined(OS_VXWORKS)
> > >     {
> > >       int pid, fd;
> > >       fd = open("/dev/urandom", O_RDONLY);
> > >
> > >     I'v used definitions as below:
> > >
> > > EXTRA_DEFINE    +=    -DOS_VXWORKS_660=660
> > > EXTRA_DEFINE    +=    -DOS_VXWORKS_670=670
> > > EXTRA_DEFINE    +=    -DOS_VXWORKS_680=680
> > > EXTRA_DEFINE    +=    -DOS_VXWORKS=OS_VXWORKS_670
> > > EXTRA_DEFINE    +=    -DSQLITE_HOMEGROWN_RECURSIVE_MUTEX
> > > EXTRA_DEFINE    +=    -DSQLITE_ENABLE_LOCKING_STYLE=1
> > > EXTRA_DEFINE    +=    -DSQLITE_OMIT_LOAD_EXTENSION
> > >
> > >
> > > Best Regards,
> > >
> > > Huang Zhihua
> > >
> > > 2010/10/8 Scott A Mintz <sami...@ra.rockwell.com>
> > >
> > > > I searched through all the mail archives to see if I could find
> > someone
> > > > that has ported SQLite to vxWorks in kernel mode.  Apparently, 
there
> > are a
> > > > few folks attempting it.  And fewer succeeding at it.
> > > >
> > > > I found an article published by ZhiHua Huang where he describes 
the
> > mods
> > > > he made to port SQLite 3.6.23.1 to vxWorks 6.5
> > > > http://www.mail-archive.com/sqlite-users@sqlite.org/msg51531.html
> > > >
> > > > Using that as a starting point, I modified my files but I get the
> > > > following errors:
> > > > 
"C:/CCViews/Mintz_NetlinxUCS_L7x/NetLinxUCS/SQLite3_LIB/sqlite3.c",
> > line
> > > > 27262: error (dcc:1633): parse error  near 'struct'
> > > > 
"C:/CCViews/Mintz_NetlinxUCS_L7x/NetLinxUCS/SQLite3_LIB/sqlite3.c",
> > line
> > > > 27262: error (dcc:1206): syntax error
> > > > 
"C:/CCViews/Mintz_NetlinxUCS_L7x/NetLinxUCS/SQLite3_LIB/sqlite3.c",
> > line
> > > > 27262: fatal error (dcc:1340): can't recover from earlier errors
> > > >
> > > > This is the code it's complaining about.  The "struct statfs 
fsInfo;"
> > line
> > > > is line 27262.
> > > >
> > > > #ifdef FD_CLOEXEC
> > > >  fcntl(fd, F_SETFD, fcntl(fd, F_GETFD, 0) | FD_CLOEXEC);
> > > > #endif
> > > >
> > > >  noLock = eType!=SQLITE_OPEN_MAIN_DB;
> > > >
> > > >
> > > > #if defined(__APPLE__) || SQLITE_ENABLE_LOCKING_STYLE
> > > >  struct statfs fsInfo;
> > > >  if( fstatfs(fd, &fsInfo) == -1 ){
> > > >    ((unixFile*)pFile)->lastErrno = errno;
> > > >    if( dirfd>=0 ) close(dirfd); /* silently leak if fail, in error 
*/
> > > >    close(fd); /* silently leak if fail, in error */
> > > >    return SQLITE_IOERR_ACCESS;
> > > >  }
> > > >  if (0 == strncmp("msdos", fsInfo.f_fstypename, 5)) {
> > > >    ((unixFile*)pFile)->fsFlags |= SQLITE_FSFLAGS_IS_MSDOS;
> > > >  }
> > > > #endif
> > > >
> > > > Any ideas?
> > > >
> > > > -Scott
> > > > _______________________________________________
> > > > sqlite-users mailing list
> > > > sqlite-users@sqlite.org
> > > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> > > >
> > > _______________________________________________
> > > sqlite-users mailing list
> > > sqlite-users@sqlite.org
> > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> >
> > _______________________________________________
> > sqlite-users mailing list
> > sqlite-users@sqlite.org
> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> >
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to