pam doesn't bootstrap due to missing --enable-dbm in db

Bug #1126392 reported by Wookey
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
db (Ubuntu)
Fix Released
Undecided
Unassigned
db5.3 (Ubuntu)
Fix Released
Undecided
Unassigned
pam (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Building (or crossbuilding) pam (with dpkg-buildpackage -B)
fails with a set of undefined reference to `__db_ndbm_*' errors.

This is due to db not have the compatibility layer unless --enable-dbm is set in the db package.

I don't know if this is a changed default from ealier versions of db or if in fact this should be fixed by getting pam not to use this interface anymore, but for now this seems simplest.

I noticed this doing the arm64 bootstrap but I don't think there is anything arm-specific about it, given that the test below fails.

I don't know why this doesn't show up normally. I presume that the normal db configuration implies --enable-dbm, but the stage1 config used in http://people.debian.org/~wookey/bootstrap/ubunturepo/pool/main/d/db/db_5.1.29-5ubuntu6profile1_source.changes (which turns off the java and python and tcl bindings) implies --disable-dbm

Turning --enable-dbm on explicitly makes things work.

Here is a small test case
$ cat test.c
#define DB_DBM_HSEARCH 1
#include <db.h>

int main(void) {
DBM *db = dbm_open("/dev/null", 0, 0600);
return 0;
}
$ gcc -ldb test.c
/tmp/ccvbSNOF.o: In function `main':
test.c:(.text+0x18): undefined reference to `__db_ndbm_open'
collect2: ld returned 1 exit status

Tags: patch arm64
Revision history for this message
Wookey (wookey) wrote :
Wookey (wookey)
affects: pam → pam (Ubuntu)
summary: - pam doesn't cross-build due to missing --enable-dbm in db
+ pam doesn't bootstrap due to missing --enable-dbm in db
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "db_5.1.29-5ubuntu6-fix-pam-enable-dbm.patch" of this bug report has been identified as being a patch in the form of a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-sponsors team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

Revision history for this message
Steve Langasek (vorlon) wrote :

doesn't look like any change is required here on the pam side.

Changed in pam (Ubuntu):
status: New → Invalid
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Should be fine, unless the build magic constant changes....

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

So db5.3 already had --enable-dbm, so you could have bootstrapped with that potentially.
Anyway fixed the default db as well.

Changed in db5.3 (Ubuntu):
status: New → Invalid
Changed in db (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package db - 5.1.29-5ubuntu7

---------------
db (5.1.29-5ubuntu7) raring; urgency=low

  * Enable historic dbm interface. Thanks Wookey. (LP: #1126392)
 -- Dmitrijs Ledkovs <email address hidden> Tue, 12 Mar 2013 02:39:08 +0000

Changed in db (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package db5.3 - 5.3.21-2

---------------
db5.3 (5.3.21-2) unstable; urgency=low

  * Add myself to uploaders.
  * Use /usr/share/dpkg/architecture.mk

  Apply changes from Ubuntu packaging:
  * debian/patches/link-sql-libs: Add new patch to fix FTBFS due to
    missing -ldl link on libdb_sql-5.1.
  * Search for tcl in the multiarch location, conditionally.
  * Enable historic dbm interface. Thanks Wookey. (LP: #1126392)
  * Cross building fixes (LP: #1105368):
    - do not run tests when crossbuilding, when nocheck is enabled or stage1.
    - do not check db_signature in stage1 build.
    - comment that tcl:native is needed for cross-builds.
  * Really clean the build directory.
  * Use the autotools-dev dh addon, so that we update all the
    config.guess/config.sub copies rather than just the one in dist/.
  * Introduce a stage1 build to skip the java and the tcl bindings.

 -- Dmitrijs Ledkovs <email address hidden> Thu, 15 Aug 2013 14:21:00 +0100

Changed in db5.3 (Ubuntu):
status: Invalid → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.