Hi Christian,

We're using a derivative of os_unix.c from the 3.3.5 source package; the checks 
are in the code to look for the SQLITE_DISABLE_LFS flag; as you can see, it's 
being set duing the build process.  Yet the resulting code somehow seems to be 
looking for LFS.

BeOS does have a POSIX-like API but there are a few differences, use of 
bthreads instead of pthreads being one significant difference.  Other web 
references I've run into indicate that BeOS does not support POSIX LFS, and 
experience bears this out.  We're in the same situation as the OS/2 team who 
posted to the list a couple of weeks ago:  we need to insure sqlite will run 
under BeOS, as Mozilla now uses threaded sqlite and its presence is required 
for the continued functioning of our Firefox port.

An other ideas?

Doug

> On Thu, 8 Jun 2006, Doug Shelton wrote:
> 
> > How does one disable large file support?  As mentioned in comments, I've 
> > added -DSQLITE_DISABLE_LFS to the Makefile, but continue to get errors 
> > indicating lack of kernel support for large files.  The following lines 
> > are the end of my compile (so you can see make options) and the behavior 
> > of the resulting sqlite3.
> >
> > ./libtool --mode=link gcc -g -O2 -DOS_BEOS=1 -DSQLITE_DISABLE_LFS 
> > -DHAVE_USLEEP=1 -I. -I./src -DNDEBUG   -DTHREADSAFE=1 
> > -DSQLITE_THREAD_OVERRIDE_LOCK=-1 -DSQLITE_OMIT_CURSOR -DHAVE_READLINE=0  
> > -lroot -lbe \
> >        -o sqlite3 ./src/shell.c libsqlite3.la \
> >        -lreadline -lreadline
> > gcc -g -O2 -DOS_BEOS=1 -DSQLITE_DISABLE_LFS -DHAVE_USLEEP=1 -I. -I./src 
> > -DNDEBUG -DTHREADSAFE=1 -DSQLITE_THREAD_OVERRIDE_LOCK=-1 
> > -DSQLITE_OMIT_CURSOR -DHAVE_READLINE=0 -o sqlite3 ./src/shell.c  
> > ./.libs/libsqlite3.a -lroot -lbe -lreadline
> > $ sqlite3 test.db
> > SQLite version 3.3.5
> > Enter ".help" for instructions
> > sqlite> .databases
> > Error: kernel lacks large file support
> > sqlite> .exit
> > $
> >
> > This is in continuing work to support sqlite3 under BeOS.  Any 
> > assistance would be greatly appreciated.
> >
> 
> Make sure you compile os_unix.c with -DSQLITE_DISABLE_LFS. I assume you're 
> using os_unix.c or a derivative as a base. You may have an old stale 
> version without the -DSQLITE_DISABLE_LFS.
> 
> Out of interest, what porting is requied for BeOS? I though it had a 
> basically POSIX like API already by default?
> 
> Christian

Reply via email to