[sqlite] Link errors with SQLITE_OMIT_VIRTUALTABLE
Hi all, I have these link errors when compiling sqlite3 (amalgamation version 3.26.0) as part of my application: sqlite3.c:150722: undefined reference to `sqlite3VtabFinishParse' sqlite3.c:150725: undefined reference to `sqlite3VtabFinishParse' sqlite3.c:150729: undefined reference to `sqlite3VtabBeginParse' sqlite3.c:150733: undefined reference to `sqlite3VtabArgInit' sqlite3.c:150738: undefined reference to `sqlite3VtabArgExtend' a short research discovered that the link issues are a result of inconsistent definition of macro guards. A fix patch is attached to this mail. Regards, Yehiel Zohar. This email and any files transmitted with it are confidential material. They are intended solely for the use of the designated individual or entity to whom they are addressed. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, use, distribution or copying of this communication is strictly prohibited and may be unlawful. If you have received this email in error please immediately notify the sender and delete or destroy any copy of this message ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Link errors with SQLITE_OMIT_VIRTUALTABLE
On 15 Jan 2019, at 8:06am, Yehiel Zohar wrote: > A fix patch is attached to this mail. Sorry, but this mailing list automatically strips attachments. You can paste the contents of your patch file into a followup, or upload it to a server and post a link. Simon. ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Link errors with SQLITE_OMIT_VIRTUALTABLE
It's important to mention Orgad Shaneh, a dear colleague who helped me get to this solution. Patch contents: From 4184b9fc3cbaeabe1892e5d68ddb886373c8ea00 Mon Sep 17 00:00:00 2001 From: Yehiel Zohar Date: Tue, 15 Jan 2019 09:29:46 +0200 Subject: [PATCH] Fix link errors with SQLITE_OMIT_VIRTUALTABLE sqlite3.c:150722: undefined reference to `sqlite3VtabFinishParse' sqlite3.c:150725: undefined reference to `sqlite3VtabFinishParse' sqlite3.c:150729: undefined reference to `sqlite3VtabBeginParse' sqlite3.c:150733: undefined reference to `sqlite3VtabArgInit' sqlite3.c:150738: undefined reference to `sqlite3VtabArgExtend' --- src/sqliteInt.h | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/sqliteInt.h b/src/sqliteInt.h index fe0bd6226..3f62080af 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -4388,6 +4388,10 @@ void sqlite3AutoLoadExtensions(sqlite3*); # define sqlite3VtabUnlockList(X) # define sqlite3VtabSavepoint(X, Y, Z) SQLITE_OK # define sqlite3GetVTable(X,Y) ((VTable*)0) +# define sqlite3VtabBeginParse(A, B, C, D, E) +# define sqlite3VtabFinishParse(X, Y) +# define sqlite3VtabArgInit(X) +# define sqlite3VtabArgExtend(X, Y) #else void sqlite3VtabClear(sqlite3 *db, Table*); void sqlite3VtabDisconnect(sqlite3 *db, Table *p); @@ -4408,7 +4412,6 @@ void sqlite3AutoLoadExtensions(sqlite3*); void(*)(void*) ); # define sqlite3VtabInSync(db) ((db)->nVTrans>0 && (db)->aVTrans==0) -#endif int sqlite3VtabEponymousTableInit(Parse*,Module*); void sqlite3VtabEponymousTableClear(sqlite3*,Module*); void sqlite3VtabMakeWritable(Parse*,Table*); @@ -4421,6 +4424,7 @@ int sqlite3VtabCallConnect(Parse*, Table*); int sqlite3VtabCallDestroy(sqlite3*, int, const char *); int sqlite3VtabBegin(sqlite3 *, VTable *); FuncDef *sqlite3VtabOverloadFunction(sqlite3 *,FuncDef*, int nArg, Expr*); +#endif sqlite3_int64 sqlite3StmtCurrentTime(sqlite3_context*); int sqlite3VdbeParameterIndex(Vdbe*, const char*, int); int sqlite3TransferBindings(sqlite3_stmt *, sqlite3_stmt *); -- 2.20.1.windows.1.3.g039c8793a4 This email and any files transmitted with it are confidential material. They are intended solely for the use of the designated individual or entity to whom they are addressed. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, use, distribution or copying of this communication is strictly prohibited and may be unlawful. If you have received this email in error please immediately notify the sender and delete or destroy any copy of this message ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Link errors with SQLITE_OMIT_VIRTUALTABLE
Hi, In reply to https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg113512.html. Can you please accept this patch? Thanks, - Orgad This email and any files transmitted with it are confidential material. They are intended solely for the use of the designated individual or entity to whom they are addressed. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, use, distribution or copying of this communication is strictly prohibited and may be unlawful. If you have received this email in error please immediately notify the sender and delete or destroy any copy of this message ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Link errors with SQLITE_OMIT_VIRTUALTABLE
On 14/7/62 15:59, Orgad Shaneh wrote: Hi, In reply to https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg113512.html. Can you please accept this patch? The patch doesn't seem all that intrusive, but is there a reason you can't build from canonical sources instead of sqlite3.c? If you build from the full source package with SQLITE_OMIT_VIRTUALTABLE defined things work as is. And you will save a bit more code space than just building sqlite3.c with the same option. https://www.sqlite.org/compile.html#_options_to_omit_features Dan. Thanks, - Orgad This email and any files transmitted with it are confidential material. They are intended solely for the use of the designated individual or entity to whom they are addressed. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, use, distribution or copying of this communication is strictly prohibited and may be unlawful. If you have received this email in error please immediately notify the sender and delete or destroy any copy of this message ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users