SQLite Forum

Build fails with SQLITE_OMIT_WAL and SQLITE_MAX_MMAP_SIZE=0
Login

Build fails with SQLITE_OMIT_WAL and SQLITE_MAX_MMAP_SIZE=0

(1) By anonymous on 2021-10-02 12:27:13 [link] [source]

When building SQLite 3.36.0 with SQLITE_OMIT_WAL and SQLITE_MAX_MMAP_SIZE=0 on OS X (and probably other unix systems) the build fails with:

Undefined symbols for architecture x86_64: "_unixFcntlExternalReader", referenced from: _unixFileControl in sqlite3-ede8e2.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [sqlite3] Error 1

The problem seems that unixFcntlExternalReader is omitted when SQLITE_OMIT_WAL. Though this method references to unixShmNode which is omitted with SQLITE_MAX_MMAP_SIZE=0.

(2) By anonymous on 2021-10-13 09:18:24 in reply to 1 [link] [source]

I'm trying to compile Subversion with the latest Amalgamation and this problem is causing it to fail.

I'd rather not remove SQLITE_OMIT_WAL from the configuration. How can I get an older SQLite that doesn't have the issue?

(3) By Richard Hipp (drh) on 2021-10-13 11:59:05 in reply to 2 [link] [source]

I'd rather not remove SQLITE_OMIT_WAL from the configuration.

Why not? What harm is WAL mode causing you?

(4) By anonymous on 2021-10-15 15:44:21 in reply to 3 [source]

(The previous response wasn't from me. I'm the original author of this thread, probably trying to solve a different use case).

I'm removing as much as possible functionality from SQLite and actually tried to define SQLITE_OMIT_DISKIO as well (there are several things which look like they would need major changes, though). I'm using SQLite as an in-memory data processor without any disk IO.