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

Reply via email to