Hello,
I'm trying to build sqlite from source (sqlite-src) for Fedora. In the
latest version (3.8.10.1), I encountered two issues that prevents me
from building it:

1) The compilation fails on file sqlite3_analyzer.c, with error

    sqlite3_analyzer.c:14131:30: error: #if with no expression
     #if SQLITE_ENABLE_DBSTAT_VTAB

I found out that this is due to the way the macro is defined on the
very top of the file: `#define SQLITE_ENABLE_DBSTAT_VTAB`. As the
macro evaluates to nothing, the #if statement is invalid. Also, this
way effectively prevents me from using the macro as compile flag,
because this way overwrite any definition of this macro in compile flags.

Origin of the line is in the Makefile (Makefile.in), and it is added
during the sqlite3_analyzer.c creation in said Makefile.

2) When I "fix" the previous error, I'm getting assertion failure
during the test suite run.

The way I fixed the previous error:
    #ifndef SQLITE_ENABLE_DBSTAT_VTAB
    #define SQLITE_ENABLE_DBSTAT_VTAB 0
    #endif

Then I add the `-DSQLITE_ENABLE_DBSTAT_VTAB=1` flag to the CFLAGS, and
the compilation sucessfully finishes. However, the testsuite run fails
with the following error:

    shell1-5.0...testfixture:
/builddir/build/BUILD/tcl8.6.3/generic/tclIO.c:5815: DoReadChars:
Assertion `!((statePtr)->flags & ((1<<9))) || ((statePtr)->flags &
((1<<10))) || Tcl_InputBuffered((Tcl_Cha
nnel)chanPtr) == 0' failed.

The testsuite error does not occur in the 3.9.* version.

Best regards,
Jan
-- 
Jan Stanek - Red Hat Associate Developer Engineer - Databases Team

Reply via email to