I am trying to compile extension-functions.py so that I may use the stdev function in SQLite queries. However, I keep getting errors that indicate failure to compile.
First, I compiled the code for pysqlite, which created a directory that contains the following files: amalgamation build cross_bdist_wininst.py cross_bdist_wininst.pyc doc lib LICENSE MANIFEST.in PKG-INFO setup.cfg setup.py src Then, I fetched and added these two files to the above directory: sqlite3ext.h and extension-functions.c . Then, I made this directory the current working directory, and executed the following command gcc -fPIC -lm -shared extension-functions.c -o libsqlitefunctions.so This displays a long list of error messages, some of which are copied below. Pysqlite works fine. I can create tables, insert data and fetch it back out. However, I cannot compile the extension-functions.c file. I am running gcc version 3.4.5. Does any one know what is going wrong? # gcc -fPIC -lm -shared extension-functions.c -o libsqlitefunctions.so In file included from extension-functions.c:124: sqlite3ext.h:22:21: sqlite3.h: No such file or directory In file included from extension-functions.c:124: sqlite3ext.h:37: error: syntax error before '*' token sqlite3ext.h:38: error: syntax error before '*' token sqlite3ext.h:39: error: syntax error before '*' token sqlite3ext.h:39: error: `bind_blob' declared as function returning a function sqlite3ext.h:39: warning: no semicolon at end of struct or union sqlite3ext.h:39: error: syntax error before ')' token sqlite3ext.h:40: error: syntax error before '*' token sqlite3ext.h:41: error: syntax error before '*' token sqlite3ext.h:42: error: syntax error before '*' token sqlite3ext.h:43: error: syntax error before '*' token sqlite3ext.h:44: error: syntax error before '*' token sqlite3ext.h:45: error: syntax error before '*' token sqlite3ext.h:46: error: syntax error before '*' token sqlite3ext.h:47: error: syntax error before '*' token sqlite3ext.h:47: error: syntax error before ')' token sqlite3ext.h:48: error: syntax error before '*' token sqlite3ext.h:48: error: syntax error before ')' token sqlite3ext.h:49: error: syntax error before '*' token sqlite3ext.h:50: error: syntax error before '*' token sqlite3ext.h:50: error: `busy_handler' declared as function returning a function sqlite3ext.h:50: error: syntax error before "void" sqlite3ext.h:51: error: syntax error before '*' token sqlite3ext.h:52: error: syntax error before '*' token sqlite3ext.h:53: error: syntax error before '*' token sqlite3ext.h:54: error: syntax error before '*' token sqlite3ext.h:54: error: syntax error before "sqlite3" sqlite3ext.h:55: error: syntax error before '*' token sqlite3ext.h:55: error: syntax error before "sqlite3" sqlite3ext.h:56: error: syntax error before '*' token sqlite3ext.h:57: error: syntax error before '*' token sqlite3ext.h:58: error: syntax error before '*' token sqlite3ext.h:59: error: syntax error before '*' token sqlite3ext.h:60: error: syntax error before '*' token sqlite3ext.h:61: error: syntax error before '*' token sqlite3ext.h:62: error: syntax error before '*' token sqlite3ext.h:187: error: syntax error before '*' token sqlite3ext.h:190: error: syntax error before '*' token sqlite3ext.h:190: error: syntax error before '*' token sqlite3ext.h:190: warning: data definition has no type or storage class In file included from extension-functions.c:134: /usr/include/stdio.h:355: error: 'snprintf' redeclared as different kind of symbol sqlite3ext.h:130: error: previous declaration of 'snprintf' was here In file included from extension-functions.c:137: /usr/include/stdlib.h:584: error: 'malloc' redeclared as different kind of symbol sqlite3ext.h:105: error: previous declaration of 'malloc' was here /usr/include/stdlib.h:595: error: 'realloc' redeclared as different kind of symbol sqlite3ext.h:113: error: previous declaration of 'realloc' was here /usr/include/stdlib.h:597: error: 'free' redeclared as different kind of symbol sqlite3ext.h:95: error: previous declaration of 'free' was here extension-functions.c: In function `sqlite3StrDup': extension-functions.c:205: error: dereferencing pointer to incomplete type extension-functions.c: At top level: extension-functions.c:375: error: syntax error before '*' token extension-functions.c: In function `sqrtFunc': extension-functions.c:375: error: `argc' undeclared (first use in this function) extension-functions.c:375: error: (Each undeclared identifier is reported only once extension-functions.c:375: error: for each function it appears in.) extension-functions.c:375: error: dereferencing pointer to incomplete type extension-functions.c:375: error: `argv' undeclared (first use in this function) extension-functions.c:375: error: `SQLITE_NULL' undeclared (first use in this function) extension-functions.c:375: error: dereferencing pointer to incomplete type extension-functions.c:375: error: `context' undeclared (first use in this function) extension-functions.c:375: error: dereferencing pointer to incomplete type extension-functions.c:375: error: dereferencing pointer to incomplete type extension-functions.c:375: error: dereferencing pointer to incomplete type extension-functions.c: At top level: extension-functions.c:378: error: syntax error before '*' token extension-functions.c: In function `acosFunc': extension-functions.c:378: error: `argc' undeclared (first use in this function) extension-functions.c:378: error: dereferencing pointer to incomplete type extension-functions.c:378: error: `argv' undeclared (first use in this function) extension-functions.c:378: error: `SQLITE_NULL' undeclared (first use in this function) extension-functions.c:378: error: dereferencing pointer to incomplete type extension-functions.c:378: error: `context' undeclared (first use in this function) extension-functions.c:378: error: dereferencing pointer to incomplete type extension-functions.c: At top level: extension-functions.c:1670: error: syntax error before '*' token extension-functions.c: In function `differenceFunc': extension-functions.c:1680: error: `argc' undeclared (first use in this function) extension-functions.c:1682: error: dereferencing pointer to incomplete type extension-functions.c:1682: error: `argv' undeclared (first use in this function) extension-functions.c:1682: error: `SQLITE_NULL' undeclared (first use in this function) extension-functions.c:1682: error: dereferencing pointer to incomplete type extension-functions.c:1683: error: dereferencing pointer to incomplete type extension-functions.c:1683: error: `context' undeclared (first use in this function) extension-functions.c:1687: error: dereferencing pointer to incomplete type extension-functions.c:1688: error: dereferencing pointer to incomplete type extension-functions.c:1699: error: dereferencing pointer to incomplete type extension-functions.c: At top level: extension-functions.c:1708: error: syntax error before '*' token extension-functions.c: In function `RegisterExtensionFunctions': extension-functions.c:1715: error: syntax error before '*' token extension-functions.c:1718: error: `SQLITE_UTF8' undeclared (first use in this function) extension-functions.c:1718: error: initializer element is not constant extension-functions.c:1718: error: (near initialization for `aFuncs[0].eTextRep') extension-functions.c:1718: error: initializer element is not constant extension-functions.c:1718: error: (near initialization for `aFuncs[0]') extension-functions.c:1719: error: initializer element is not constant extension-functions.c:1719: error: (near initialization for `aFuncs[1].eTextRep') extension-functions.c:1719: error: initializer element is not constant extension-functions.c:1719: error: (near initialization for `aFuncs[1]') extension-functions.c:1720: error: initializer element is not constant extension-functions.c:1720: error: (near initialization for `aFuncs[2].eTextRep') extension-functions.c:1720: error: initializer element is not constant extension-functions.c:1720: error: (near initialization for `aFuncs[2]') extension-functions.c:1721: error: initializer element is not constant extension-functions.c:1721: error: (near initialization for `aFuncs[3].eTextRep') extension-functions.c:1721: error: initializer element is not constant extension-functions.c:1772: error: (near initialization for `aFuncs[39].eTextRep') extension-functions.c:1772: error: initializer element is not constant extension-functions.c:1772: error: (near initialization for `aFuncs[39]') extension-functions.c:1781: error: syntax error before '*' token extension-functions.c:1782: error: syntax error before '*' token extension-functions.c:1796: error: `db' undeclared (first use in this function) extension-functions.c:1801: error: dereferencing pointer to incomplete type extension-functions.c:1822: error: dereferencing pointer to incomplete type extension-functions.c: At top level: extension-functions.c:1839: error: syntax error before '*' token extension-functions.c: In function `sqlite3_extension_init': extension-functions.c:1840: error: `pApi' undeclared (first use in this function) extension-functions.c:1841: error: `db' undeclared (first use in this function) [root@lco-merlin-lab232 Desktop]# Regards, Richard Watkins Product Development & Systems Engineering _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users