Port Request

Marcus von Appen mva at FreeBSD.org
Sat Sep 7 19:44:07 UTC 2013


On, Sat Sep 07, 2013, Rusty Nejdl wrote:

[...]
> [tethys]:/home/rnejdl/Downloads/apsw/apsw-3.8.0.2-r1> python setup.py
> build
> running build
> running build_ext
> SQLite: Using system sqlite include/libraries
> building 'apsw' extension
> creating build
> creating build/temp.freebsd-9.2-PRERELEASE-amd64-2.7
> creating build/temp.freebsd-9.2-PRERELEASE-amd64-2.7/src
> cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -march=nocona
> -DNDEBUG -O2 -pipe -fno-strict-aliasing -march=nocona -fPIC
> -DEXPERIMENTAL=1 -DNDEBUG=1 -DAPSW_FORK_CHECKER=1
> -DSQLITE_OMIT_LOAD_EXTENSION=1 -Isrc -I/usr/local/include/python2.7 -c
> src/apsw.c -o build/temp.freebsd-9.2-PRERELEASE-amd64-2.7/src/apsw.o
> src/apsw.c:58:21: error: sqlite3.h: No such file or directory
> src/apsw.c:62:2: error: #error Your SQLite version is too old. It must
> be at least 3.8.0
> In file included from src/apsw.c:128:
> src/exceptions.c:24: error: expected declaration specifiers or '...'
> before 'sqlite3'
>
> How do I get setup.py to find sqlite3.h at /usr/local/include/sqlite3.h
> ?

By passing in the correct CFLAGS. By default C extensions to Python just
include the relevant Python CFLAGS. Since you need the sqlite headers,
which are located in /usr/local/include, execute the following (bourne
shell):

#  CFLAGS=-I/usr/local/include python setup.py build

And since I guess that apsw links to libsqlite3, also pass the
LDFLAGS=-L/usr/local/lib:

#  CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib python setup.py build


For your port Makefile that'd mean that you should set

CFLAGS+=  -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib

Cheers
Marcus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-python/attachments/20130907/bcb45ce1/attachment.sig>


More information about the freebsd-python mailing list