Bug#794669: pbuilder: pdebuild ignores --pbuildersatisfydepends without --use-pdebuild-internal

Axel Beckert abe at c-cactus.ontheroad.deuxchevaux.org
Wed Aug 5 14:34:56 UTC 2015


Package: pbuilder
Version: 0.215+nmu4

Hi,

pdebuild seems to ignore or not properly pass the
--pbuildersatisfydepends option.

pbuilder uses aptitude by default internally by default. But aptitude
currently segfaults inside pbuilder due to the libstdc++6/gcc-5
transition (see https://bugs.debian.org/794594):

aptitude: symbol lookup error: aptitude: undefined symbol: _ZN7cwidget7widgets5pager8set_textERKSsPKc

So I tried to use a satisfydepends without aptitude and have chosen
pbuilder-satisfydepends-classic:

~/aptitude/aptitude → fgrep aptitude /usr/lib/pbuilder/pbuilder-satisfydepends-classic
~/aptitude/aptitude → pdebuild --pbuildersatisfydepends /usr/lib/pbuilder/pbuilder-satisfydepends-classic --debbuildopts -j5
dpkg-buildpackage: source package aptitude
dpkg-buildpackage: source version 0.7-1
dpkg-buildpackage: source distribution UNRELEASED
dpkg-buildpackage: source changed by Axel Beckert <abe at debian.org>
 dpkg-source -i --before-build aptitude
dpkg-source: info: applying 05-cherry-pick-3593bdcb.patch
dpkg-source: info: applying 10-cherry-pick-2a5a8b25.patch
dpkg-source: info: applying 15-cherry-pick-4b24b358.patch
 fakeroot debian/rules clean
dh clean --parallel --builddirectory=build-arch --dbg-package=aptitude-dbg
   dh_testdir -O--parallel -O--builddirectory=build-arch -O--dbg-package=aptitude-dbg
   dh_auto_clean -O--parallel -O--builddirectory=build-arch -O--dbg-package=aptitude-dbg
   dh_clean -O--parallel -O--builddirectory=build-arch -O--dbg-package=aptitude-dbg
 dpkg-source -i -b aptitude
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building aptitude using existing ./aptitude_0.7.orig.tar.xz
dpkg-source: info: building aptitude in aptitude_0.7-1.debian.tar.xz
dpkg-source: info: building aptitude in aptitude_0.7-1.dsc
 dpkg-genchanges -S >../aptitude_0.7-1_source.changes
dpkg-genchanges: including full source code in upload
 dpkg-source -i --after-build aptitude
dpkg-source: info: unapplying 15-cherry-pick-4b24b358.patch
dpkg-source: info: unapplying 10-cherry-pick-2a5a8b25.patch
dpkg-source: info: unapplying 05-cherry-pick-3593bdcb.patch
dpkg-buildpackage: full upload (original source is included)
I: using fakeroot in build.
I: pbuilder: network access will be disabled during build
I: Current time: Wed Aug  5 12:31:20 CEST 2015
I: pbuilder-time-stamp: 1438770680
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/sid/base.tgz]
I: creating local configuration
I: copying local configuration
I: mounting /proc filesystem
I: mounting /run/shm filesystem
I: mounting /dev/pts filesystem
I: policy-rc.d already exists
I: Obtaining the cached apt archive contents
I: Installing the build-deps
I: user script /var/cache/pbuilder/build//19244/tmp/hooks/D01-backports.sh starting
I: user script /var/cache/pbuilder/build//19244/tmp/hooks/D01-backports.sh finished
I: user script /var/cache/pbuilder/build//19244/tmp/hooks/D02-experimental.sh starting
I: user script /var/cache/pbuilder/build//19244/tmp/hooks/D02-experimental.sh finished
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: amd64
Maintainer: Debian Pbuilder Team <pbuilder-maint at lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
 This package was created automatically by pbuilder to satisfy the
 build-dependencies of the package being currently built.
Depends: debhelper (>= 9), docbook-xml, docbook-xsl, dpkg-dev (>= 1.16.1), elinks, g++ (>= 4:3.2.2-0), gettext, google-mock, libapt-pkg-dev (>= 0.9.7), libboost-dev, libboost-iostreams-dev, libboost-python-dev, libboost-serialization-dev, libboost-test-dev, libcppunit-dev, libcwidget-dev (>= 0.5.6.1-2), libgtest-dev, libncursesw5-dev, librsvg2-bin, libsigc++-2.0-dev, libsqlite3-dev, libxapian-dev, pkg-config, po4a, xsltproc
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 12199 files and directories currently installed.)
Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
 pbuilder-satisfydepends-dummy depends on debhelper (>= 9); however:
  Package debhelper is not installed.
 pbuilder-satisfydepends-dummy depends on docbook-xml; however:
  Package docbook-xml is not installed.
 pbuilder-satisfydepends-dummy depends on docbook-xsl; however:
  Package docbook-xsl is not installed.
 pbuilder-satisfydepends-dummy depends on elinks; however:
  Package elinks is not installed.
 pbuilder-satisfydepends-dummy depends on gettext; however:
  Package gettext is not installed.
 pbuilder-satisfydepends-dummy depends on google-mock; however:
  Package google-mock is not installed.
 pbuilder-satisfydepends-dummy depends on libapt-pkg-dev (>= 0.9.7); however:
  Package libapt-pkg-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libboost-dev; however:
  Package libboost-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libboost-iostreams-dev; however:
  Package libboost-
Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
aptitude: symbol lookup error: aptitude: undefined symbol: _ZN7cwidget7widgets5pager8set_textERKSsPKc
E: pbuilder-satisfydepends failed.
I: Copying back the cached apt archive contents
I: unmounting dev/pts filesystem
I: unmounting run/shm filesystem
I: unmounting proc filesystem
I: cleaning the build env 
I: removing directory /var/cache/pbuilder/build//19244 and its subdirectories

So despite I explicitly requested to a satisfydepends without aptitude,
one with aptitude is being used.

>From a first glance at /usr/bin/pdebuild it seems that
--pbuildersatisfydepends is only honoured if --use-pdebuild-internal is
given, too.

And indeed, using --use-pdebuild-internal helps.

So this may be a pure documentation issue. Not sure if this constraint
was planned.



More information about the Pbuilder-maint mailing list