tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

py-bsddb3 (was Re: BAD Python compilation directives)



On 25/01/17 19:16, Jesus Cea wrote:
> Since I am a python core developer, I plan to include support for pkgsrc
> in the included bsddb code for future Python 2.7.14, so these kludges
> can be dropped.

I have upgraded my Berkeley DB bindings for Python (bsddb3) so it can
cope with pkgsrc (only tested in SmartOS). I have added ugly kludges on
my own code while pkgsrc doesn't integrate my patches:
<https://twitter.com/jcea/status/824392861768699904>.

Would be nice if somebody else could try it under other pkgsrc
platforms. In the photo in twitter you can see the commands you need to
type.

Talking about this, my bindings, when compiled, link to the most recent
version of Berkeley DB installed. Nevertheless, the pkgsrc packages:

"""
[root@eMail ~]# pkgin search bsddb
py35-bsddb3-6.2.1    Python bindings for Oracle Berkeley DB
py34-bsddb3-6.2.1    Python bindings for Oracle Berkeley DB
py27-bsddb3-6.2.1    Python bindings for Oracle Berkeley DB
"""

link statically against Berkeley DB 4.8.30, even if I have 6.1
installed. Not a big problem because any party interested could install
"the real thing" now that it supports pkgsrc (I hope). That said, I
don't see the point of having those packages in pkgsrc now, unless you
want to avoid needing a C compiler installed to build the bindings at
install time.

Another question: last Berkeley DB available in pkgsrc is 6.1, but
Oracle published 6.2 a year ago and I suppose it is going to publish 6.3
sometime in 2017. Currently pkgsrc doesn't allow several versions
installed at the same time because they could collide in
"/opt/local/lib/libdb6.so" and other places. How could that be solved?.

My code, to avoid that, links against "-ldb6-6.1", for instance, instead
of simply "-ldb6" and hoping for the best. But with current approach,
header file collision can not avoided. With current approach...

Seems that pkgsrc approach so far is to only allow one version, like
python 3.4 and 3.5, only one allowed:

"""
[root@PkgSrc /tmp/bsddb3-6.2.4]# cat /var/db/pkgin/pkg_install-err.log
...
---Jan 26 04:21:33: installing python34-3.4.5nb1...
pkg_add: Conflicting PLIST with python35-3.5.2nb1: lib/libpython3.so
pkg_add: 1 package addition failed
"""

-- 
Jesús Cea Avión                         _/_/      _/_/_/        _/_/_/
jcea%jcea.es@localhost - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
Twitter: @jcea                        _/_/    _/_/          _/_/_/_/_/
jabber / xmpp:jcea%jabber.org@localhost  _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz

Attachment: signature.asc
Description: OpenPGP digital signature



Home | Main Index | Thread Index | Old Index