SQLite User Forum

SQLite Version 3.48.0 coming soon...
Login

SQLite Version 3.48.0 coming soon...

(1) By Richard Hipp (drh) on 2024-12-30 15:58:54 [link] [source]

The 3.48.0 release of SQLite is scheduled for mid-January. What to expect:

If you have any concerns or issues with the current trunk code, please bring them up soon, within the next day or two.

If you know someone who regularly downloads and builds SQLite releases but who does not monitor this Forum, please send them a link to this post.

If you yourself regularly download and compile SQLite releases, then please test out your build procedures on the latest trunk check-in. You can download a tarball from https://sqlite.org/src/tarball/trunk/sqlite3-trunk.tar.gz.

If you want to raise concerns but do not want to use this Forum, you can send direct email to drh at sqlite dot org.

(2) By Roger Binns (rogerbinns) on 2024-12-30 17:44:38 in reply to 1 [link] [source]

Can you please provide drafts of the actual release files themselves? Specifically what the "Source code" links and contents are like the existing release at the top of https://sqlite.org/download.html

https://sqlite.org/draft/download.html doesn't have any downloads.

I do automated download and building which is why it matters. For example I assume the release tarball won't have sqlite-trunk as the top level directory contents?

Why does configure look for a C++ compiler?

I only need the amalgamation. Is make sqlite3.c sufficient, and can I be assured that it is correct?

Running make does not obey the CC and CFLAGS passed to configure. Specifically mkkeywordhash, lemon, jimsh, and src-verify use cc. This matters in environments where cc doesn't exist or is completely unrelated to building due to different bitness and libraries which is why CC and CFLAGS were provided.

(3) By Richard Hipp (drh) on 2024-12-30 19:34:22 in reply to 2 [link] [source]

Can you please provide drafts of the actual release files themselves?

I have pushed up some of the source files. I have not done all of the binaries.

Why does configure look for a C++ compiler?

Not sure. Perhaps because Autosetup does that by default.

I only need the amalgamation. Is make sqlite3.c sufficient, and can I be assured that it is correct?

Yes. Also there are amalgamation-only source downloads.

mkkeywordhash, lemon, jimsh, and src-verify use cc.

That's because those programs are not deliverables. They are not intended to run on the target. Those are all programs used to help build the source code which then gets compiled for the target. Hence those programs must all run on the host. If you build those programs for the target, they won't work on a cross-compile.

Use CC_FOR_BUILD and BUILD_CFLAGS to configure binaries for the host, if you really need to. It seems like it would be a very unusual situation that would require that though. Probably you should just let Autosetup pick whatever C compiler it wants for building "scaffolding" binaries that run only on the build machine and not on the target machine.

(4) By Stephan Beal (stephan) on 2024-12-30 20:01:27 in reply to 3 [link] [source]

Why does configure look for a C++ compiler?

Not sure. Perhaps because Autosetup does that by default.

Correct. We can't skip the check for C++ without patching autosetup specifically to not do that, which is more hassle than it's worth.

Use CC_FOR_BUILD and BUILD_CFLAGS to configure binaries for the host, if you really need to.

Autosetup has strong support for cross-compiling: https://msteveb.github.io/autosetup/user/crosscompiling/

That said: it would be great to hear feedback from users who actually cross-compile it.

(5) By Roger Binns (rogerbinns) on 2024-12-31 00:53:34 in reply to 3 [link] [source]

I have pushed up some of the source files

Thanks - that is what I needed to check my code against.

However I'm confused. sqlite-autoconf-3480000.tar.gz is on the list and what I want. But it contains the old GNU autoconf stuff not the new autosetup things.

Also there are amalgamation-only source downloads.

They are only useful on Windows. On non-Windows platforms I also need configure because I need all the various HAVE_ stuff for various functionality like HAVE_USLEEP, HAVE_FDATASYNC etc and only configure knows which of those are used and how to test for them. The amalgamation is compiled into my code, so I don't need the rest of the stuff to do the actual building.

They are not intended to run on the target

I'm being a bit weird. I have a 64 bit host with a minimal barely functional environment, with all the work happening in the 32 bit world that is fully functional, so the tools really need to be in the 32 bit world. I have tested that setting CC_FOR_BUILD and BUILD_CFLAGS addressed that.

(6) By J. King (jking) on 2024-12-31 01:16:43 in reply to 1 [link] [source]

Small typo in the second paragraph of the news:

One benefit of this is that TCL is longer necessary to build SQLite from canonical sources

The word "no" is missing after "TCL is".

(7) By Richard Hipp (drh) on 2024-12-31 12:53:24 in reply to 5 [link] [source]

sqlite-autoconf-3480000.tar.gz ... contains the old GNU autoconf stuff

Yes. Autosetup is currently only used for the canonical source code, not the specially packaged and pre-compiled amalgamations.

(8) By Roger Binns (rogerbinns) on 2024-12-31 15:22:15 in reply to 7 [link] [source]

The release notes are extremely confusing as a result regarding all this. The expectation is an official release with a configure script, which is what you got with sqlite-autoconf-xxx.tar.gz for all these decades, and the second item on the download page after a bare amalgamation. 1a says that autosetup is used instead of autoconf, but that isn't the case. 1c says the whole thing may go away!

The only folks affected by autosetup are those using the source tree snapshots, which will be a tiny minority. It would be very helpful to understand the plan going forward for those wanting SQLite releases with a configure script interface.

Are you intending to have a release containing an amalgamation and a script named configure to build and install it? If so, there is nothing actionable for folks to do at the moment.

If you intend to remove amalgamation + configure, then is sqlite-src-3480000.zip the intended final form of release distribution?

My recommendation is to adjust the release notes to be more useful. Pick a release such as 3.50 for when things change. Then the release notes can be:

  • The release distribution sqlite-autoconf-xxxx.tar.gz will be removed in SQLite 3.50 (due later in 2025).
    • a. Please migrate to sqlite-autosetup-xxxx.tar.gz which uses autosetup instead of autoconf going forward.
    • b. Please migrate to sqlite-src-xxx.zip going forward.

If (a) then you'll need an amalgamation plus autosetup on the download page. if (b) then change the wording on the download page to say it is the canonical release, not a snapshot/artifact.

I don't know what your web traffic looks like, but if folks do migrate from amalgamation + configure to sqlite-src, then the bandwidth usage will quadruple!

(9) By Roger Binns (rogerbinns) on 2024-12-31 18:26:48 in reply to 7 [link] [source]

I just went through the 3.48 amalgamation looking for all HAVE_ uses and then checking the GNU autoconf and autosetup to see if they were checked.

Both GNU autoconf and autosetup check for these:

  • STDINT_H
  • INTTYPES_H
  • LOCALTIME_R
  • POSIX_FALLOCATE
  • STRERROR_R
  • FDATASYNC

These are not checked for by GNU autoconf, but are checked for by autosetup:

  • ISNAN
  • MALLOC_USABLE_SIZE
  • MALLOC_H
  • STRCHRNUL
  • PREAD/PWRITE (automatically set on Linux, not BSD etc)

There are various other ones that are set automatically based on compiler/platform defines, or that don't matter.

(10) By KindOne on 2025-01-02 06:16:04 in reply to 1 [link] [source]

The trunk does not compile on older compilers.

VC2008

C:\vs2008\sqlite3-trunk>nmake /f Makefile.msc

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        copy /Y .\tool\lempar.c .
        1 file(s) copied.
        copy /B lempar.c +,,
        1 file(s) copied.
        cl -nologo -W4 -Fdlemon.pdb   -MT -DNDEBUG -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -O2 -Zi -wd4054 -wd4055 -wd4100 -wd4127 -wd4130 -wd4152 -wd4189 -w
d4206 -wd4210 -wd4232 -wd4244 -wd4305 -wd4306 -wd4702 -wd4706 -Daccess=_access  -Felemon.exe .\tool\lemon.c /link /DEBUG
lemon.c
        del /Q parse.y parse.h parse.h.temp 2>NUL
        copy /Y .\src\parse.y .
        1 file(s) copied.
        copy /B parse.y +,,
        1 file(s) copied.
        .\lemon.exe  -DSQLITE_MAX_TRIGGER_DEPTH=100  -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_ENABLE_STMTVTAB=1 -DSQLITE_ENABLE_DBPAGE_VTAB=1 -DSQLITE_ENABLE_DBS
TAT_VTAB=1 -DSQLITE_ENABLE_BYTECODE_VTAB=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_MATH_FUNCTIONS   -S parse.y
        cl -DHAVE__FULLPATH=1 .\autosetup\jimsh0.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

jimsh0.c
.\autosetup\jimsh0.c(2169) : error C2065: 'ETIMEDOUT' : undeclared identifier
.\autosetup\jimsh0.c(2182) : error C2065: 'ETIMEDOUT' : undeclared identifier
.\autosetup\jimsh0.c(2182) : error C2051: case expression not constant
.\autosetup\jimsh0.c(10720) : error C2275: 'Jim_Obj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(434) : see declaration of 'Jim_Obj'
.\autosetup\jimsh0.c(10720) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(10721) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(10721) : warning C4047: 'function' : 'Jim_Obj *' differs in levels of indirection from 'int'
.\autosetup\jimsh0.c(10721) : warning C4024: 'JimFindVariable' : different types for formal and actual parameter 2
.\autosetup\jimsh0.c(10722) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(10722) : warning C4047: 'function' : 'Jim_Obj *' differs in levels of indirection from 'int'
.\autosetup\jimsh0.c(10722) : warning C4024: 'Jim_FreeObj' : different types for formal and actual parameter 2
.\autosetup\jimsh0.c(11081) : error C2275: 'Jim_Obj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(434) : see declaration of 'Jim_Obj'
.\autosetup\jimsh0.c(11081) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(11082) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(11082) : warning C4047: 'function' : 'Jim_Obj *' differs in levels of indirection from 'int'
.\autosetup\jimsh0.c(11082) : warning C4024: 'JimUnsetVariable' : different types for formal and actual parameter 2
.\autosetup\jimsh0.c(11083) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(11083) : warning C4047: 'function' : 'Jim_Obj *' differs in levels of indirection from 'int'
.\autosetup\jimsh0.c(11083) : warning C4024: 'Jim_FreeObj' : different types for formal and actual parameter 2
.\autosetup\jimsh0.c(15996) : error C2143: syntax error : missing ';' before 'type'
.\autosetup\jimsh0.c(15997) : error C2275: 'Jim_Obj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(434) : see declaration of 'Jim_Obj'
.\autosetup\jimsh0.c(15997) : error C2065: 'nargv' : undeclared identifier
.\autosetup\jimsh0.c(15997) : error C2109: subscript requires array or pointer type
.\autosetup\jimsh0.c(15998) : error C2275: 'Jim_Obj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(434) : see declaration of 'Jim_Obj'
.\autosetup\jimsh0.c(15998) : error C2065: 'traceCmdObj' : undeclared identifier
.\autosetup\jimsh0.c(15999) : error C2275: 'Jim_Obj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(434) : see declaration of 'Jim_Obj'
.\autosetup\jimsh0.c(15999) : error C2065: 'resultObj' : undeclared identifier
.\autosetup\jimsh0.c(16000) : error C2275: 'ScriptObj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(9656) : see declaration of 'ScriptObj'
.\autosetup\jimsh0.c(16000) : error C2065: 'script' : undeclared identifier
.\autosetup\jimsh0.c(16005) : error C2065: 'script' : undeclared identifier
.\autosetup\jimsh0.c(16005) : warning C4047: '=' : 'int' differs in levels of indirection from 'ScriptObj *'
.\autosetup\jimsh0.c(16008) : error C2065: 'nargv' : undeclared identifier
.\autosetup\jimsh0.c(16008) : error C2109: subscript requires array or pointer type
.\autosetup\jimsh0.c(16008) : error C2065: 'traceCmdObj' : undeclared identifier
.\autosetup\jimsh0.c(16009) : error C2065: 'nargv' : undeclared identifier
.\autosetup\jimsh0.c(16009) : error C2109: subscript requires array or pointer type
.\autosetup\jimsh0.c(16010) : error C2065: 'nargv' : undeclared identifier
.\autosetup\jimsh0.c(16010) : error C2109: subscript requires array or pointer type
.\autosetup\jimsh0.c(16010) : error C2065: 'script' : undeclared identifier
.\autosetup\jimsh0.c(16010) : error C2065: 'script' : undeclared identifier
.\autosetup\jimsh0.c(16010) : error C2223: left of '->fileNameObj' must point to struct/union
.\autosetup\jimsh0.c(16010) : fatal error C1903: unable to recover from previous error(s); stopping compilation
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.

C:\vs2008\sqlite3-trunk>cl
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86

----------------------------------------------------
VS2010: Not installed.
----------------------------------------------------
VS2012:

C:\vs2012\sqlite3-trunk>nmake /f Makefile.msc

Microsoft (R) Program Maintenance Utility Version 11.00.61030.0
Copyright (C) Microsoft Corporation.  All rights reserved.

        copy /Y .\tool\lempar.c .
        1 file(s) copied.
        copy /B lempar.c +,,
        1 file(s) copied.
        cl -nologo -W4 -Fdlemon.pdb   -MT -DNDEBUG -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -O2 -Zi -wd4054 -wd4055 -wd4100 -wd4127 -wd4130 -wd4152 -wd4189 -w
d4206 -wd4210 -wd4232 -wd4244 -wd4305 -wd4306 -wd4702 -wd4706 -Daccess=_access  -Felemon.exe .\tool\lemon.c /link /DEBUG
lemon.c
        del /Q parse.y parse.h parse.h.temp 2>NUL
        copy /Y .\src\parse.y .
        1 file(s) copied.
        copy /B parse.y +,,
        1 file(s) copied.
        .\lemon.exe  -DSQLITE_MAX_TRIGGER_DEPTH=100  -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_ENABLE_STMTVTAB=1 -DSQLITE_ENABLE_DBPAGE_VTAB=1 -DSQLITE_ENABLE_DBS
TAT_VTAB=1 -DSQLITE_ENABLE_BYTECODE_VTAB=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_MATH_FUNCTIONS   -S parse.y
        cl -DHAVE__FULLPATH=1 .\autosetup\jimsh0.c
Microsoft (R) C/C++ Optimizing Compiler Version 17.00.61030 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

jimsh0.c
.\autosetup\jimsh0.c(10720) : error C2275: 'Jim_Obj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(434) : see declaration of 'Jim_Obj'
.\autosetup\jimsh0.c(10720) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(10721) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(10721) : warning C4047: 'function' : 'Jim_Obj *' differs in levels of indirection from 'int'
.\autosetup\jimsh0.c(10721) : warning C4024: 'JimFindVariable' : different types for formal and actual parameter 2
.\autosetup\jimsh0.c(10722) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(10722) : warning C4047: 'function' : 'Jim_Obj *' differs in levels of indirection from 'int'
.\autosetup\jimsh0.c(10722) : warning C4024: 'Jim_FreeObj' : different types for formal and actual parameter 2
.\autosetup\jimsh0.c(11081) : error C2275: 'Jim_Obj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(434) : see declaration of 'Jim_Obj'
.\autosetup\jimsh0.c(11081) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(11082) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(11082) : warning C4047: 'function' : 'Jim_Obj *' differs in levels of indirection from 'int'
.\autosetup\jimsh0.c(11082) : warning C4024: 'JimUnsetVariable' : different types for formal and actual parameter 2
.\autosetup\jimsh0.c(11083) : error C2065: 'tempObj' : undeclared identifier
.\autosetup\jimsh0.c(11083) : warning C4047: 'function' : 'Jim_Obj *' differs in levels of indirection from 'int'
.\autosetup\jimsh0.c(11083) : warning C4024: 'Jim_FreeObj' : different types for formal and actual parameter 2
.\autosetup\jimsh0.c(15996) : error C2143: syntax error : missing ';' before 'type'
.\autosetup\jimsh0.c(15997) : error C2275: 'Jim_Obj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(434) : see declaration of 'Jim_Obj'
.\autosetup\jimsh0.c(15997) : error C2065: 'nargv' : undeclared identifier
.\autosetup\jimsh0.c(15997) : error C2109: subscript requires array or pointer type
.\autosetup\jimsh0.c(15998) : error C2275: 'Jim_Obj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(434) : see declaration of 'Jim_Obj'
.\autosetup\jimsh0.c(15998) : error C2065: 'traceCmdObj' : undeclared identifier
.\autosetup\jimsh0.c(15999) : error C2275: 'Jim_Obj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(434) : see declaration of 'Jim_Obj'
.\autosetup\jimsh0.c(15999) : error C2065: 'resultObj' : undeclared identifier
.\autosetup\jimsh0.c(16000) : error C2275: 'ScriptObj' : illegal use of this type as an expression
        .\autosetup\jimsh0.c(9656) : see declaration of 'ScriptObj'
.\autosetup\jimsh0.c(16000) : error C2065: 'script' : undeclared identifier
.\autosetup\jimsh0.c(16005) : error C2065: 'script' : undeclared identifier
.\autosetup\jimsh0.c(16005) : warning C4047: '=' : 'int' differs in levels of indirection from 'ScriptObj *'
.\autosetup\jimsh0.c(16008) : error C2065: 'nargv' : undeclared identifier
.\autosetup\jimsh0.c(16008) : error C2109: subscript requires array or pointer type
.\autosetup\jimsh0.c(16008) : error C2065: 'traceCmdObj' : undeclared identifier
.\autosetup\jimsh0.c(16009) : error C2065: 'nargv' : undeclared identifier
.\autosetup\jimsh0.c(16009) : error C2109: subscript requires array or pointer type
.\autosetup\jimsh0.c(16010) : error C2065: 'nargv' : undeclared identifier
.\autosetup\jimsh0.c(16010) : error C2109: subscript requires array or pointer type
.\autosetup\jimsh0.c(16010) : error C2065: 'script' : undeclared identifier
.\autosetup\jimsh0.c(16010) : error C2223: left of '->fileNameObj' must point to struct/union
.\autosetup\jimsh0.c(16010) : fatal error C1903: unable to recover from previous error(s); stopping compilation
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
C:\vs2012\sqlite3-trunk>cl
Microsoft (R) C/C++ Optimizing Compiler Version 17.00.61030 for x86

----------------------------------------------------
VS2013:

C:\vs2013\sqlite3-trunk>nmake /f Makefile.msc

Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.

        copy /Y .\tool\lempar.c .
        1 file(s) copied.
        copy /B lempar.c +,,
        1 file(s) copied.
        cl -nologo -W4 -Fdlemon.pdb   -MT -DNDEBUG -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -O2 -Zi -wd4054 -wd4055 -wd4100 -wd4127 -wd4130 -wd4152 -wd4189 -w
d4206 -wd4210 -wd4232 -wd4244 -wd4305 -wd4306 -wd4702 -wd4706 -Daccess=_access  -Felemon.exe .\tool\lemon.c /link /DEBUG
lemon.c
        del /Q parse.y parse.h parse.h.temp 2>NUL
        copy /Y .\src\parse.y .
        1 file(s) copied.
        copy /B parse.y +,,
        1 file(s) copied.
        .\lemon.exe  -DSQLITE_MAX_TRIGGER_DEPTH=100  -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_ENABLE_STMTVTAB=1 -DSQLITE_ENABLE_DBPAGE_VTAB=1 -DSQLITE_ENABLE_DBS
TAT_VTAB=1 -DSQLITE_ENABLE_BYTECODE_VTAB=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_MATH_FUNCTIONS   -S parse.y
        cl -DHAVE__FULLPATH=1 .\autosetup\jimsh0.c
Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

jimsh0.c
Microsoft (R) Incremental Linker Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:jimsh0.exe
jimsh0.obj
jimsh0.obj : error LNK2019: unresolved external symbol _snprintf referenced in function _Jim_FormatString
jimsh0.exe : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.

C:\vs2013\sqlite3-trunk>cl
Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 for x86


----------------------------------------------------
VS2015: Compiled.
---
VS2017: Compiled.
---
VS2019: Compiled.
---
VS2022: Not installed.

(11) By Richard Hipp (drh) on 2025-01-02 11:43:24 in reply to 10 [link] [source]

All of the errors you show are in jimsh0.c, which is not part of SQLite proper but is instead part of the new Autosetup configuration package we are using for configuration. You can perhaps bypass the need to use jimsh0.c by first installing TCL on your system. See the instructions at step 3 of https://sqlite.org/src/file/doc/compile-for-windows.md or if you want to use Tcl8.6, step 3 of https://sqlite.org/src/info/4d4bfafda42a7a33.

I'll probably update the documentation to say that you must either:

  1. Using VS2015 or later
  2. Have your own installation of Tcl8.6 or Tcl9.0.

(12) By Richard Hipp (drh) on 2025-01-02 12:15:44 in reply to 11 [link] [source]

(13) By Roger Binns (rogerbinns) on 2025-01-02 17:56:18 in reply to 1 [link] [source]

The release notes do not mention the FTS5 insttoken option or function

(14) By Nuno Cruces (ncruces) on 2025-01-09 15:36:56 in reply to 1 [source]

The amalgamation zip file was changed to not have a folder with the files, not sure if it was intended.

Per Hyrum's Law this breaks my flow, but I can easily fix it (just pointing it out).

% unzip -l sqlite-amalgamation-3470200.zip 
Archive:  sqlite-amalgamation-3470200.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  12-07-2024 20:57   sqlite-amalgamation-3470200/
  9195458  12-07-2024 20:57   sqlite-amalgamation-3470200/sqlite3.c
  1044214  12-07-2024 20:57   sqlite-amalgamation-3470200/shell.c
   651186  12-07-2024 20:57   sqlite-amalgamation-3470200/sqlite3.h
    38149  12-07-2024 20:57   sqlite-amalgamation-3470200/sqlite3ext.h
---------                     -------
 10929007                     5 files

% unzip -l sqlite-amalgamation-3480000.zip 
Archive:  sqlite-amalgamation-3480000.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
  9213870  12-30-2024 18:28   sqlite3.c
  1054022  12-30-2024 11:38   shell.c
   653276  12-30-2024 18:28   sqlite3.h
    38149  12-30-2024 18:28   sqlite3ext.h
---------                     -------
 10959317                     4 files

(15) By Richard Hipp (drh) on 2025-01-09 20:08:39 in reply to 14 [link] [source]

Fixed. A new draft website has been uploaded, which should contain the revised sqlite-amalgamation-3480000.zip file.