loading extension csv.c

chiahui chen <[email protected]>
Newsgroups gmane.comp.db.sqlite.general
Message-ID <CADOxCo=edygEbszwUNUwPgH4uiFWSopo6dutGGc50prm1QL7rg@mail.gmail.com>
Hi,

After few attempts to load csv extension, (already tried

    gcc -arch x86_64 -g -fPIC -dynamiclib csv.c -o csv.dylib

and

    gcc  -g -fPIC -dynamiclib csv.c -o csv.dylib
)
Mac terminal returns errors as followings:

csv.c:115:3: error: no member named '__builtin___vsnprintf_chk' in 'struct
sqlite3_api_routines'

  sqlite3_vsnprintf(CSV_MXERR, p->zErr, zFormat, ap);

  ^~~~~~~~~~~~~~~~~

/usr/include/sqlite3ext.h:437:53: note: expanded from macro
'sqlite3_vsnprintf'

#define sqlite3_vsnprintf              sqlite3_api->vsnprintf

                                       ~~~~~~~~~~~  ^

/usr/include/secure/_stdio.h:75:3: note: expanded from macro 'vsnprintf'

  __builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)

  ^

csv.c:115:21: warning: incompatible integer to pointer conversion passing
'int' to parameter of type 'const void *' [-Wint-conversion]

  sqlite3_vsnprintf(CSV_MXERR, p->zErr, zFormat, ap);

                    ^~~~~~~~~

csv.c:67:19: note: expanded from macro 'CSV_MXERR'

#define CSV_MXERR 200

                  ^~~

/usr/include/secure/_stdio.h:75:57: note: expanded from macro 'vsnprintf'

  __builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)

                                                        ^~~

/usr/include/secure/_common.h:39:54: note: expanded from macro
'__darwin_obsz'

#define __darwin_obsz(object) __builtin_object_size (object,
_USE_FORTIFY_LEVEL > 1 ? 1 : 0)

                                                     ^~~~~~

csv.c:568:5: error: use of undeclared identifier 'sqlite3_str'

    sqlite3_str *pStr = sqlite3_str_new(0);

    ^

csv.c:568:18: error: use of undeclared identifier 'pStr'

    sqlite3_str *pStr = sqlite3_str_new(0);

                 ^

csv.c:568:25: warning: implicit declaration of function 'sqlite3_str_new'
is invalid in C99 [-Wimplicit-function-declaration]

    sqlite3_str *pStr = sqlite3_str_new(0);

                        ^

csv.c:571:5: warning: implicit declaration of function
'sqlite3_str_appendf' is invalid in C99 [-Wimplicit-function-declaration]

    sqlite3_str_appendf(pStr, "CREATE TABLE x(");

    ^

csv.c:571:25: error: use of undeclared identifier 'pStr'

    sqlite3_str_appendf(pStr, "CREATE TABLE x(");

                        ^

csv.c:581:29: error: use of undeclared identifier 'pStr'

        sqlite3_str_appendf(pStr, "%sc%d TEXT", zSep, iCol);

                            ^

csv.c:588:31: error: use of undeclared identifier 'pStr'

          sqlite3_str_appendf(pStr,"%s\"%w\" TEXT", zSep, z);

                              ^

csv.c:597:31: error: use of undeclared identifier 'pStr'

          sqlite3_str_appendf(pStr,"%sc%d TEXT", zSep, ++iCol);

                              ^

csv.c:603:25: error: use of undeclared identifier 'pStr'

    sqlite3_str_appendf(pStr, ")");

                        ^

csv.c:604:18: warning: implicit declaration of function
'sqlite3_str_finish' is invalid in C99 [-Wimplicit-function-declaration]

    CSV_SCHEMA = sqlite3_str_finish(pStr);

                 ^

csv.c:604:37: error: use of undeclared identifier 'pStr'

    CSV_SCHEMA = sqlite3_str_finish(pStr);

                                    ^

csv.c:643:27: error: use of undeclared identifier 'SQLITE_VTAB_DIRECTONLY'

  sqlite3_vtab_config(db, SQLITE_VTAB_DIRECTONLY);

                          ^

4 warnings and 10 errors generated.

Can someone kindly explain why?
Is there any other step /modification required or even change needed to be
made, prior to compiling or loading an extension in general?

In case there is something I missed while compiling sqlite, here is how I
initially compiled it:

cc -DSQLITE_SOUNDEX -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5
-DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -o sqlite3
shell.c sqlite3.c

Thank you in advance.

Osman
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.