Subject: pkg/30971: python23 incorrectly configures itself for bdb
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <cube@cubidou.net>
List: pkgsrc-bugs
Date: 08/11/2005 10:11:00
>Number: 30971
>Category: pkg
>Synopsis: python23 incorrectly configures itself for bdb
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Aug 11 10:11:00 +0000 2005
>Originator: Quentin Garnier
>Release: Linux
>Organization:
>Environment:
>Description:
lang/python23 has a patche to configure for bdb support that do a very evil thing. It looks at BUILDLINK_TRANSFORM in order (I think) to know if a library is needed, and which.
This is evil, because teaching the package about an internal bit of pkgsrc is already wrong, and also because the purpose of BUILDLINK_TRANSFORM is to make the wrappers change on-the-fly the library name to the correct value.
However, the reason it breaks on Linux is because the db1 library is named libdb.so. Thus, while BUIDLINK_LDADD.db1 is not empty (-ldb), BUILDLINK_TRANSFORM is because the library is already named libdb. That later leads to a linking failure, which goes unnoticed because of the tolerant nature of python's build system. But pkg_create sure does complain about the missing modules and the incorrect PLIST.
And anyway, why not simply use BDB_LIBS? I tried that (patch not included, but it's trivial) and it Just Works on my system.
>How-To-Repeat:
Build python23 on a system where the library for db1 is named libdb.so.
>Fix: