this, apparently, is a real/known/old issue, at least @/by the 'fink' proj (and, apparently, by ubuntu proj ...)
after working with the folks at IRC(#fink), and porting their 'old version' patch, # orig PATCH: http://fink.cvs.sourceforge.net/fink/dists/10.4/unstable/main/finkinfo/database/sqlite3.patch?revision=1.1&view=markup to sqlite v3.3.8, the 'errors' are gone. (NOTE: from "dmacks" @ #fink "that -static patch is not really portable upstream ... The tail syntax change is backward-compatible, but is the only one recognized by new versions of tail, and the sprintf->snprintf changes are to avoid some crasher/exploit bugs")
I have my MacBook Pro sitting on my desk ... I used the very latest code from CVS ... On my system (which is generic as far as I know) this runs to completion without any errors. ... I'm not sure what the difference is.
tbh, i have _no_ concrete idea either as to why you are NOT seeing these issues on your MacBook :-/ anyway, the details: % rm -rf /projects/sqlite* % cd /Users/snowcrash/projects % rm -rf sqlite* % wget http://www.sqlite.org/sqlite-3.3.8.tar.gz % gnutar zxvf sqlite-3.3.8.tar.gz % vi /projects/patch.sqlite338 ----------------------------------------- diff -ru sqlite-3.3.8ORIG/ sqlite-3.3.8 diff -re sqlite-3.3.8ORIG/Makefile.in sqlite-3.3.8/Makefile.in --- sqlite-3.3.8ORIG/Makefile.in 2007-01-02 13:17:56.000000000 -0800 +++ sqlite-3.3.8/Makefile.in 2007-01-02 13:39:48.000000000 -0800 @@ -271,7 +271,7 @@ # of the most recently modified source code file # last_change: $(SRC) - cat $(SRC) | grep '$$Id: ' | sort -k 5 | tail -1 \ + cat $(SRC) | grep '$$Id: ' | sort -k 5 | tail -n 1 \ | $(NAWK) '{print $$5,$$6}' >last_change libsqlite3.la: $(LIBOBJ) ## ## Prevent link time warnings with multiply defined symbols when these ## two binaries linking against libsqlite3.dylib. Instead, force a ## link against libsqlite3.a. ## @@ -476,7 +476,7 @@ libsqlite3.la $(LIBTCL) testfixture$(TEXE): $(TOP)/src/tclsqlite.c libsqlite3.la $(TESTSRC) - $(LTLINK) -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 \ + $(LTLINK) -static -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 \ -DSQLITE_NO_SYNC=1 $(TEMP_STORE) \ -o testfixture $(TESTSRC) $(TOP)/src/tclsqlite.c \ libsqlite3.la $(LIBTCL) ## ## This patch was taken from Ubuntu's sqlite-2.8.16-1 package. ## diff -ru sqlite-3.3.8ORIG/tool/lemon.c sqlite-3.3.8/tool/lemon.c --- sqlite-3.3.8ORIG/tool/lemon.c 2007-01-02 13:17:55.000000000 -0800 +++ sqlite-3.3.8/tool/lemon.c 2007-01-02 13:30:36.000000000 -0800 @@ -1322,15 +1322,15 @@ va_start(ap, format); /* Prepare a prefix to be prepended to every output line */ if( lineno>0 ){ - sprintf(prefix,"%.*s:%d: ",PREFIXLIMIT-10,filename,lineno); + snprintf(prefix,sizeof prefix,"%.*s:%d: ",PREFIXLIMIT-10,filename,lineno); }else{ - sprintf(prefix,"%.*s: ",PREFIXLIMIT-10,filename); + snprintf(prefix,sizeof prefix,"%.*s: ",PREFIXLIMIT-10,filename); } prefixsize = strlen(prefix); availablewidth = LINEWIDTH - prefixsize; /* Generate the error message */ - vsprintf(errmsg,format,ap); + vsnprintf(errmsg,sizeof errmsg,format,ap); va_end(ap); errmsgsize = strlen(errmsg); /* Remove trailing '\n's from the error message. */ @@ -2863,7 +2863,7 @@ while( cfp ){ char buf[20]; if( cfp->dot==cfp->rp->nrhs ){ - sprintf(buf,"(%d)",cfp->rp->index); + snprintf(buf,sizeof buf,"(%d)",cfp->rp->index); fprintf(fp," %5s ",buf); }else{ fprintf(fp," "); @@ -2909,7 +2909,7 @@ c = *cp; *cp = 0; path = (char *)malloc( strlen(argv0) + strlen(name) + 2 ); - if( path ) sprintf(path,"%s/%s",argv0,name); + if( path ) snprintf(path,sizeof path,"%s/%s",argv0,name); *cp = c; }else{ extern char *getenv(); @@ -2922,7 +2922,7 @@ if( cp==0 ) cp = &pathlist[strlen(pathlist)]; c = *cp; *cp = 0; - sprintf(path,"%s/%s",pathlist,name); + snprintf(path,sizeof path,"%s/%s",pathlist,name); *cp = c; if( c==0 ) pathlist = ""; else pathlist = &cp[1]; @@ -3002,14 +3002,16 @@ cp = strrchr(lemp->filename,'.'); if( cp ){ - sprintf(buf,"%.*s.lt",(int)(cp-lemp->filename),lemp->filename); + snprintf(buf,sizeof buf,"%.*s.lt",(int)(cp-lemp->filename),lemp->filename); }else{ - sprintf(buf,"%s.lt",lemp->filename); + snprintf(buf,sizeof buf,"%s.lt",lemp->filename); } if( access(buf,004)==0 ){ tpltname = buf; }else if( access(templatename,004)==0 ){ tpltname = templatename; + }else if( access("/usr/share/lemon/lempar.c",004)==0 ){ + tpltname = "/usr/share/lemon/lempar.c"; }else{ tpltname = pathsearch(lemp->argv0,templatename,0); } @@ -3021,7 +3023,7 @@ } in = fopen(tpltname,"rb"); if( in==0 ){ - fprintf(stderr,"Can't open the template file \"%s\".\n",templatename); + fprintf(stderr,"Can't open the template file \"%s\".\n",tpltname); lemp->errorcnt++; return 0; } @@ -3733,7 +3735,7 @@ /* Generate a table containing the symbolic name of every symbol */ for(i=0; i<lemp->nsymbol; i++){ - sprintf(line,"\"%s\",",lemp->symbols[i]->name); + snprintf(line,sizeof line,"\"%s\",",lemp->symbols[i]->name); fprintf(out," %-15s",line); if( (i&3)==3 ){ fprintf(out,"\n"); lineno++; } } @@ -3880,7 +3882,7 @@ in = file_open(lemp,".h","rb"); if( in ){ for(i=1; i<lemp->nterminal && fgets(line,LINESIZE,in); i++){ - sprintf(pattern,"#define %s%-30s %2d\n",prefix,lemp->symbols[i]->name,i); + snprintf(pattern,sizeof pattern,"#define %s%-30s %2d\n",prefix,lemp->symbols[i]->name,i); if( strcmp(line,pattern) ) break; } fclose(in); ----------------------------------------- % cd /projects/sqlite-3.3.8 % setenv CFLAGS "-DSQLITE_DEBUG=1 -DSQLITE_MEMDEBUG=1 -DSQLITE_ALLOW_XTHREAD_CONNECT=1 -DSQLITE_THREAD_OVERRIDE_LOCK=1 -DASSERT_VIA_CALLBACK=1 -DENABLE_LOCKING_CALLBACKS=1" % setenv LDFLAGS "-L/usr/local/lib -lreadline -L/usr/local/ncurses/lib -lncurses" % setenv CPPFLAGS "-no-cpp-precomp -I/usr/local/include/readline -I/usr/local/ncurses/include" % setenv LD_TWOLEVEL_NAMESPACE 1 % vi src/os_common.h ----------------------------------------- @39 --- int sqlite3_os_trace = 0; +++ int sqlite3_os_trace = 1; ----------------------------------------- % aclocal % glibtoolize -f -c % autoconf -f % rm -rf build % mkdir build % cd build % ../sqlite-3.3.8/configure --prefix=/usr/local/sqlite-test % ../sqlite-3.3.8/configure \ --prefix=/usr/local/sqlite \ --enable-debug \ --enable-tcl \ --enable-shared --enable-static \ --enable-threadsafe \ --enable-cross-thread-connections \ --enable-threads-override-locks \ --enable-tempstore=yes % make % make install % ls -alR /usr/local/sqlite/ /usr/local/sqlite/: total 0 drwxr-xr-x 5 root wheel 170 Jan 2 14:49 ./ drwxrwxr-x 38 snowcrash wheel 1292 Jan 2 14:49 ../ drwxr-xr-x 3 root wheel 102 Jan 2 14:49 bin/ drwxr-xr-x 3 root wheel 102 Jan 2 14:49 include/ drwxr-xr-x 13 root wheel 442 Jan 2 14:51 lib/ /usr/local/sqlite/bin: total 48 drwxr-xr-x 3 root wheel 102 Jan 2 14:49 ./ drwxr-xr-x 5 root wheel 170 Jan 2 14:49 ../ -rwxr-xr-x 1 root wheel 45388 Jan 2 14:49 sqlite3 /usr/local/sqlite/include: total 80 drwxr-xr-x 3 root wheel 102 Jan 2 14:49 ./ drwxr-xr-x 5 root wheel 170 Jan 2 14:49 ../ -rw-r--r-- 1 root wheel 79013 Jan 2 14:49 sqlite3.h /usr/local/sqlite/lib: total 5120 drwxr-xr-x 13 root wheel 442 Jan 2 14:51 ./ drwxr-xr-x 5 root wheel 170 Jan 2 14:49 ../ -rwxr-xr-x 1 root wheel 706976 Jan 2 14:49 libsqlite3.0.8.6.dylib lrwxr-xr-x 1 root wheel 22 Jan 2 14:49 libsqlite3.0.dylib -> libsqlite3.0.8.6.dylib -rw-r--r-- 1 root wheel 1125904 Jan 2 14:49 libsqlite3.a lrwxr-xr-x 1 root wheel 22 Jan 2 14:49 libsqlite3.dylib -> libsqlite3.0.8.6.dylib -rwxr-xr-x 1 root wheel 853 Jan 2 14:49 libsqlite3.la -rw-r--r-- 1 root wheel 736376 Jan 2 14:51 libtclsqlite3.0.8.6.dylib -rw-r--r-- 1 root wheel 736376 Jan 2 14:51 libtclsqlite3.0.dylib -rw-r--r-- 1 root wheel 1178120 Jan 2 14:51 libtclsqlite3.a -rw-r--r-- 1 root wheel 736376 Jan 2 14:51 libtclsqlite3.dylib -rw-r--r-- 1 root wheel 942 Jan 2 14:51 libtclsqlite3.la drwxr-xr-x 3 root wheel 102 Jan 2 14:49 pkgconfig/ /usr/local/sqlite/lib/pkgconfig: total 4 drwxr-xr-x 3 root wheel 102 Jan 2 14:49 ./ drwxr-xr-x 13 root wheel 442 Jan 2 14:51 ../ -rw-r--r-- 1 root wheel 275 Jan 2 14:49 sqlite3.pc % which sqlite3 /usr/local/sqlite/bin/sqlite3 % sqlite3 -version 3.3.8 % make testfixture % ./testfixture ../sqlite-3.3.8/test/autovacuum_ioerr2.test ... Thread-specific data deallocated properly 0 errors out of 1087 tests Failures on these tests: % !! finally !! now, to check 'make fulltest', with, % chown -R snowcrash /projects/b1 % chown -R snowcrash /projects/sqlite-3.3.8 % sudo -u snowcrash make fulltest and see if this 'holds'. this will take awhile, i think ... will report back. thanks. ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------