Port Request

Rusty Nejdl rnejdl at ringofsaturn.com
Sat Sep 7 20:01:56 UTC 2013


 

On 2013-09-07 14:39, Marcus von Appen wrote: 

> 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

Marcus, 

Nicely done and that fixed it so it compiles now. Now, the last part I
am stuck on is that the package has an underscore in it: 

Writing
/usr/local/lib/python2.7/site-packages/apsw-3.8.0.2_r1-py2.7.egg-info

which kills me on deinstall: 

On 2013-09-07 14:39, Marcus von Appen wrote: 

> 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

Marcus, 

Nicely done and that fixed it so it compiles now. Now, the last part I
am stuck on is that the package has an underscore in it: 

Writing
/usr/local/lib/python2.7/site-packages/apsw-3.8.0.2_r1-py2.7.egg-info

which kills me on deinstall:

pkg_delete: file
'/usr/local/lib/python2.7/site-packages/apsw-3.8.0.2-py2.7.egg-info'
doesn't exist

On other ports I've always had to create a pkg-plist but the python
infrastructure seems to handle all of that automatically. I've looked
around and can't find how to work around this. 

Thanks in advance yet again!
Rusty Nejdl 
 


More information about the freebsd-python mailing list