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

Reply via email to