On 06/21/2018 12:06 PM, Richard Hipp wrote:
On 6/21/18, Dennis Clarke <dcla...@blastwave.org> wrote:
Seems to compile fine and yet "gmake test" failed with a less
then helpful "Error 2" :
.
.
.
sqlite3.c:
"sqlite3.c", line 20826: warning: implicit function declaration:
localtime_r (E_NO_IMPLICIT_DECL_ALLOWED)
According to my manpage for localtime_r(), the only header file
required is <time.h>, which you can clearly see is found on line
20342, above the declaration that offends your compiler. Perhaps you
can suggest what is going wrong, because I have no clue.
Yep ... I looked there right away. Saw the same thing and then started
over from scratch with more lenient CFLAGS.
Build completes just fine ... near as I can tell.
"sqlite3.c", line 52491: warning: statement not reached
(E_STATEMENT_NOT_REACHED)
Line 52491 is "assert(0);" which generates no code unless you compile
with -DSQLITE_DEBUG. Once again, I have no explanation for the
warning.
Hrmmmm ... yep. Does make me wonder.
I went out on a limb and figured that the tests were beig built and
linked by default against the previous sqlite libs installed in the
/usr/local/lib directory. So I went ahead and installed the libs
freshly built and went back to run the "gmake test" and that was, at
the very least, interesting :
n0$ /usr/local/bin/gmake test 2>&1 | tee
../sqlite-src-3240000_SunOS5.10_sparcv9.002.test.log
./fuzzcheck --limit-mem 100M
/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/test/fuzzdata1.db
/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/test/fuzzdata2.db
/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/test/fuzzdata3.db
/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/test/fuzzdata4.db
/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/test/fuzzdata5.db
/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/test/fuzzdata6.db
fuzzdata1.db: SQL fuzz as of 2015-06-20
fuzzdata1.db: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% - 9903 tests
fuzzdata2.db: SQL test cases contributed by Michal Zalewski on 2015-05-01
fuzzdata2.db: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% - 9959 tests
fuzzdata3.db: Database fuzz as of 2015-06-24
fuzzdata3.db: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% - 2316 tests
fuzzdata4.db: JSON1 test cases as of 2015-09-23
fuzzdata4.db: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% - 2574 tests
fuzzdata5.db: Test cases received from the OSS-FUZZ project
fuzzdata5.db: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% - 8818 tests
fuzzdata6.db: Test cases for UPSERT
fuzzdata6.db: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% - 3896 tests
fuzzcheck: 0 errors out of 37466 tests in 70.355 seconds
SQLite 3.24.0 2018-06-04 19:24:41
c7ee0833225bfd8c5ec2f9bf62b97c4e04d03bd9566366d5221ac8fb199a87ca
./sessionfuzz run
/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/test/sessionfuzz-data1.db
sessionfuzz-data1.db: 339 cases, 0 crashes
./srcck1 sqlite3.c
./libtool --mode=link /opt/developerstudio12.6/bin/cc
-I/usr/local/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS
-D_LARGEFILE64_SOURCE -m64 -xarch=sparc -errwarn=%none -erroff=%none
-errtags=yes -errfmt=error -errshort=full -xstrconst -xildoff
-xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc
-g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1
-D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
-DSQLITE_OS_UNIX=1 -I.
-I/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/src
-I/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/ext/rtree
-I/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/ext/icu
-I/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/ext/fts3
-I/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/ext/async
-I/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/ext/session
-D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -I/usr/local/include
-DSQLITE_THREADSAFE=1 -DSQLITE_HAVE_ZLIB=1 -L/usr/local/lib
-DSQLITE_NO_SYNC=1 -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST=1
-DSQLITE_CRASH_TEST=1 -DTCLSH_INIT_PROC=sqlite3TestInit
-DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE -DBUILD_sqlite
-DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_DEFAULT_PAGE_SIZE=1024
-DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_DBPAGE_VTAB \
.
.
.
etc etc
.
.
.
and then whammo :
/usr/local/build/sqlite-src-3240000_SunOS5.10_sparcv9.002/src/tclsqlite.c:
sqlite3.c:
"sqlite3.c", line 52491: warning: statement not reached
(E_STATEMENT_NOT_REACHED)
Undefined first referenced
symbol in file
sched_yield test4.o
ld: fatal: symbol referencing errors. No output written to testfixture
gmake: *** [Makefile:1161: testfixture] Error 2
n0$
Interesting.
n0$ grep -in "sched_yield" ./src/test4.c
80: while( p->opnum<=p->completed ) sched_yield();
88: while( p->opnum<=p->completed ) sched_yield();
169: while( p->opnum>p->completed ) sched_yield();
n0$
So I then read ext/async/README.txt and took a look around whereupon
I see these use "sched_yield" :
./ext/async/sqlite3async.c
./src/test4.c
./src/test7.c
./test/crashtest1.c
./test/threadtest1.c
./test/threadtest2.c
./test/threadtest4.c
So this is ... just curious to me. I would think that everything I would
need would be in libtclsqlite3.so or libsqlite3.so.0.
Regardless ... curious.
Dennis
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users