Date: Sat, 07 Sep 2013 15:01:55 -0500 From: Rusty Nejdl <rnejdl@ringofsaturn.com> To: python@freebsd.org Subject: Re: Port Request Message-ID: <assp.09623dc811.e5231183c20fea7b5356276a311c163e@ringofsaturn.com> In-Reply-To: <20130907193930.GB32163@medusa.sysfault.org> References: <4a8cb0aaace54a329f5723aaf4b25858@ringofsaturn.com> <20130907193930.GB32163@medusa.sysfault.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 From owner-freebsd-python@FreeBSD.ORG Sat Sep 7 21:09:27 2013 Return-Path: <owner-freebsd-python@FreeBSD.ORG> Delivered-To: python@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 385E77D5 for <python@freebsd.org>; Sat, 7 Sep 2013 21:09:27 +0000 (UTC) (envelope-from mva@FreeBSD.org) Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.29.23]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EA0B42562 for <python@freebsd.org>; Sat, 7 Sep 2013 21:09:26 +0000 (UTC) Received: from [89.183.9.2] (helo=localhost) by smtprelay01.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from <mva@FreeBSD.org>) id 1VIPen-000899-IP; Sat, 07 Sep 2013 23:03:01 +0200 Date: Sat, 7 Sep 2013 23:03:01 +0200 From: Marcus von Appen <mva@FreeBSD.org> To: rnejdl@ringofsaturn.com Subject: Re: Port Request Message-ID: <20130907210300.GD32163@medusa.sysfault.org> Mail-Followup-To: rnejdl@ringofsaturn.com, python@freebsd.org References: <4a8cb0aaace54a329f5723aaf4b25858@ringofsaturn.com> <20130907193930.GB32163@medusa.sysfault.org> <assp.09623dc811.e5231183c20fea7b5356276a311c163e@ringofsaturn.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="at6+YcpfzWZg/htY" Content-Disposition: inline In-Reply-To: <assp.09623dc811.e5231183c20fea7b5356276a311c163e@ringofsaturn.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Df-Sender: MTEyNTc0Mg== Cc: python@freebsd.org X-BeenThere: freebsd-python@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Marcus von Appen <mva@FreeBSD.org> List-Id: FreeBSD-specific Python issues <freebsd-python.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-python>, <mailto:freebsd-python-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/freebsd-python> List-Post: <mailto:freebsd-python@freebsd.org> List-Help: <mailto:freebsd-python-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-python>, <mailto:freebsd-python-request@freebsd.org?subject=subscribe> X-List-Received-Date: Sat, 07 Sep 2013 21:09:27 -0000 --at6+YcpfzWZg/htY Content-Type: text/plain; charset=us-ascii Content-Disposition: inline [...] > 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 You can change the name of the egg-info file via the PYDISTUTILS_EGGINFO variable. Something like the following might do the trick for you: PYDISTUTILS_EGGINFO=${PORTNAME}-${PORTVERSION}_r1-py${PYTHON_VER}... However, the egg-info consists of multiple parts, so you might go an easier route by setting PYDISTUTILS_PKGVERSION to something like: PYDISTUTILS_PKGVERSION= ${PORTVERSION}_r1 and leave the _EGGINFO variable alone. Check /usr/ports/Mk/bsd.python.mk for further details about how the egg info file name is built, The documentation on the knobs is fairly good. Cheers Marcus --at6+YcpfzWZg/htY Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.21 (FreeBSD) iEYEARECAAYFAlIrlIQACgkQi68/ErJnpkcReQCgj5SpoF9BqEMPZn9VDoA3oD2a HJMAn3VQkBvRs3mTjQjBbNup0g0OxJHg =iE/p -----END PGP SIGNATURE----- --at6+YcpfzWZg/htY--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?assp.09623dc811.e5231183c20fea7b5356276a311c163e>