package failed to build on amd64, builds on i386

Asked by Dwight Perry

# Install lintian overrides
install -d /build/buildd/graphviz-2.29.20120920.0445/debian/tmp/usr/share/lintian/overrides
install -m 644 /build/buildd/graphviz-2.29.20120920.0445/debian/libgraphviz4.lintian-overrides \
  /build/buildd/graphviz-2.29.20120920.0445/debian/tmp/usr/share/lintian/overrides/libgraphviz4
# Compute the dependencies of the -dev package
# NOTE: It is important to do that before splitting the files into
# their respective packages, otherwise the symlinks are broken
d-devlibdeps \
  --override s/libpathplan4-dev// \
  --override s/libcgraph6-dev// \
  --override s/libgraph5-dev// \
  --override s/libxdot4-dev// \
  --override s/libcdt5-dev// \
  --override s/libgvpr2-dev// \
  --override s/libgvc6-dev// \
  --override s/libexpr4-dev// \
  --override s/libgts-0.7-5-dev/libgts-dev/ \
  /build/buildd/graphviz-2.29.20120920.0445/debian/libgraphviz-dev.substvars \
  /build/buildd/graphviz-2.29.20120920.0445/debian/tmp/usr/lib/*.so
 --> libexpat1-dev package exists.
 --> libltdl7-dev is provided by a package.
 --> zlib1g-dev package exists.
# Move from debian/tmp to the appropriate packages, rename one binary
dh_install --sourcedir=debian/tmp --list-missing
cp: cannot stat `debian/tmp/usr/share/man/man3/gv.3tcl': No such file or directory
dh_install: cp -a debian/tmp/usr/share/man/man3/gv.3tcl debian/libgv-tcl//usr/share/man/man3/ returned exit code 1
make: *** [install] Error 2
dpkg-buildpackage: error: /usr/bin/fakeroot debian/rules binary-arch gave error exit status 2
******************************************************************************
Build finished at 20120921-0936
FAILED [dpkg-buildpackage died]

Question information

Language:
English Edit question
Status:
Solved
For:
Launchpad itself Edit question
Assignee:
No assignee Edit question
Solved by:
William Grant
Solved:
Last query:
Last reply:

This question was reopened

Revision history for this message
William Grant (wgrant) said :
#1

There's probably a bug in your architecture-dependent build target. Try building with 'dpkg-buildpackage -B' locally to reproduce the conditions of the Launchpad amd64 build, where we don't build architecture-independent packages.

Revision history for this message
Dwight Perry (dperry-deactivatedaccount) said :
#2

William,

Thanks for your reply to my question. I was able to build locally using
dpkg-buildpackage -B. The launchpad build seems to be failing on a tcl
problem. I notice the following lines from the failed build log:

using tcl headers from -I/usr/include/tcl8.5
-I/usr/include/tcl8.5/generic
checking tcl.h usability... yes
checking tcl.h presence... yes
checking for tcl.h... yes
configure: WARNING: Unable to find tclConfig.sh. The Tcl packages will
not be built
configure: WARNING: No Tcl. The Tk packages will not be built either

The local build I did has the following equivalent lines:

using tcl headers from -I/usr/include/tcl8.5
-I/usr/include/tcl8.5/generic
checking tcl.h usability... yes
checking tcl.h presence... yes
checking for tcl.h... yes
using /usr/lib/tcl8.5/tclConfig.sh

Could there be a problem with the tcl installation on launchpad?

On Mon, 2012-09-24 at 11:01 +0000, William Grant wrote:
> Your question #209247 on Launchpad itself changed:
> https://answers.launchpad.net/launchpad/+question/209247
>
> Status: Open => Answered
>
> William Grant proposed the following answer:
> There's probably a bug in your architecture-dependent build target. Try
> building with 'dpkg-buildpackage -B' locally to reproduce the conditions
> of the Launchpad amd64 build, where we don't build architecture-
> independent packages.
>

Revision history for this message
William Grant (wgrant) said :
#3

Have you tried building locally in a clean environment with pbuilder or sbuild? See https://wiki.ubuntu.com/PbuilderHowto for setting up pbuilder.

Revision history for this message
Dwight Perry (dperry-deactivatedaccount) said :
#4

I used pbuilder but received an error message that a set of packages have unmet dependencies. I ran 'apt-get -f install' as suggested by pbuilder, but there was no change. The build still fails. Here is the output of pbuilder followed by the output of 'apt-get -f install' :

$ sudo pbuilder build *.dsc
I: using fakeroot in build.
I: Current time: Wed Sep 26 15:01:35 EDT 2012
I: pbuilder-time-stamp: 1348686095
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/base.tgz]
I: creating local configuration
I: copying local configuration
I: mounting /proc filesystem
I: mounting /dev/pts filesystem
I: Mounting /var/cache/pbuilder/ccache
I: policy-rc.d already exists
I: Obtaining the cached apt archive contents
I: Setting up ccache
I: Installing the build-deps
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: amd64
Maintainer: Debian Pbuilder Team <email address hidden>
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: tk8.5-dev, tcl8.5-dev, debhelper (>= 8), libfreetype6-dev, zlib1g-dev, libjpeg-dev, libpng12-dev, libxaw7-dev, bison, flex, autotools-dev, pdksh, libexpat1-dev, libfontconfig1-dev, libltdl3-dev, swig, libperl-dev, libgd2-noxpm-dev (>= 2.0.35), quilt (>= 0.40), groff-base, ghostscript, liblualib50-dev, ruby, ruby1.8-dev, php5-dev, php5-cli, ocaml-nox, python-dev, python-minimal, libcairo2-dev, libpango1.0-dev, guile-1.8-dev, d-shlibs, python-support, librsvg2-dev, libdevil-dev, libgts-dev, liblasi-dev, libtiff4-dev
dpkg-deb: building package `pbuilder-satisfydepends-dummy' in `/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 13941 files and directories currently installed.)
Unpacking pbuilder-satisfydepends-dummy (from .../pbuilder-satisfydepends-dummy.deb) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
 pbuilder-satisfydepends-dummy depends on tk8.5-dev; however:
  Package tk8.5-dev is not installed.
 pbuilder-satisfydepends-dummy depends on tcl8.5-dev; however:
  Package tcl8.5-dev is not installed.
 pbuilder-satisfydepends-dummy depends on debhelper (>= 8); however:
  Package debhelper is not installed.
 pbuilder-satisfydepends-dummy depends on libfreetype6-dev; however:
  Package libfreetype6-dev is not installed.
 pbuilder-satisfydepends-dummy depends on zlib1g-dev; however:
  Package zlib1g-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libjpeg-dev; however:
  Package libjpeg-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libpng12-dev; however:
  Package libpng12-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libxaw7-dev; however:
  Package libxaw7-dev is not installed.
 pbuilder-satisfydepends-dummy depends on bison; however:
  Package bison is not installed.
 pbuilder-satisfydepends-dummy depends on flex; however:
  Package flex is not installed.
 pbuilder-satisfydepends-dummy depends on autotools-dev; however:
  Package autotools-dev is not installed.
 pbuilder-satisfydepends-dummy depends on pdksh; however:
  Package pdksh is not installed.
 pbuilder-satisfydepends-dummy depends on libexpat1-dev; however:
  Package libexpat1-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libfontconfig1-dev; however:
  Package libfontconfig1-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libltdl3-dev; however:
  Package libltdl3-dev is not installed.
 pbuilder-satisfydepends-dummy depends on swig; however:
  Package swig is not installed.
 pbuilder-satisfydepends-dummy depends on libperl-dev; however:
  Package libperl-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libgd2-noxpm-dev (>= 2.0.35); however:
  Package libgd2-noxpm-dev is not installed.
 pbuilder-satisfydepends-dummy depends on quilt (>= 0.40); however:
  Package quilt is not installed.
 pbuilder-satisfydepends-dummy depends on groff-base; however:
  Package groff-base is not installed.
 pbuilder-satisfydepends-dummy depends on ghostscript; however:
  Package ghostscript is not installed.
 pbuilder-satisfydepends-dummy depends on liblualib50-dev; however:
  Package liblualib50-dev is not installed.
 pbuilder-satisfydepends-dummy depends on ruby; however:
  Package ruby is not installed.
 pbuilder-satisfydepends-dummy depends on ruby1.8-dev; however:
  Package ruby1.8-dev is not installed.
 pbuilder-satisfydepends-dummy depends on php5-dev; however:
  Package php5-dev is not installed.
 pbuilder-satisfydepends-dummy depends on php5-cli; however:
  Package php5-cli is not installed.
 pbuilder-satisfydepends-dummy depends on ocaml-nox; however:
  Package ocaml-nox is not installed.
 pbuilder-satisfydepends-dummy depends on python-dev; however:
  Package python-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libcairo2-dev; however:
  Package libcairo2-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libpango1.0-dev; however:
  Package libpango1.0-dev is not installed.
 pbuilder-satisfydepends-dummy depends on guile-1.8-dev; however:
  Package guile-1.8-dev is not installed.
 pbuilder-satisfydepends-dummy depends on d-shlibs; however:
  Package d-shlibs is not installed.
 pbuilder-satisfydepends-dummy depends on python-support; however:
  Package python-support is not installed.
 pbuilder-satisfydepends-dummy depends on librsvg2-dev; however:
  Package librsvg2-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libdevil-dev; however:
  Package libdevil-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libgts-dev; however:
  Package libgts-dev is not installed.
 pbuilder-satisfydepends-dummy depends on liblasi-dev; however:
  Package liblasi-dev is not installed.
 pbuilder-satisfydepends-dummy depends on libtiff4-dev; however:
  Package libtiff4-dev is not installed.
Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
The following NEW packages will be installed:
  autotools-dev{a} bison{a} bsdmainutils{a} debhelper{a} dh-apparmor{a} diffstat{a} file{a} flex{a}
  fontconfig-config{a} gettext{a} gettext-base{a} ghostscript{a} groff-base{a} gs-cjk-resource{a} gsfonts{a}
  html2text{a} intltool-debian{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a}
  libbison-dev{a} libcroco3{a} libcups2{a} libcupsimage2{a} libexpat1{a} libexpat1-dev{a} libfl-dev{a}
  libfontconfig1{a} libfontconfig1-dev{a} libfreetype6{a} libfreetype6-dev{a} libgcrypt11{a} libgd2-noxpm{a}
  libgd2-noxpm-dev{a} libgettextpo0{a} libgnutls26{a} libgpg-error0{a} libgs9{a} libgs9-common{a}
  libgssapi-krb5-2{a} libice-dev{a} libice6{a} libidn11{a} libijs-0.35{a} libjasper1{a} libjbig2dec0{a}
  libjpeg-dev{a} libjpeg-turbo8{a} libjpeg-turbo8-dev{a} libjpeg8{a} libjpeg8-dev{a} libk5crypto3{a}
  libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} liblcms2-2{a} libltdl-dev{a} libltdl7{a} libmagic1{a}
  libp11-kit0{a} libpaper1{a} libperl-dev{a} libperl5.14{a} libpipeline1{a} libpng12-dev{a} libpopt0{a}
  libpthread-stubs0{a} libpthread-stubs0-dev{a} libsm-dev{a} libsm6{a} libtasn1-3{a} libtiff4{a}
  libunistring0{a} libx11-6{a} libx11-data{a} libx11-dev{a} libxau-dev{a} libxau6{a} libxaw7{a} libxaw7-dev{a}
  libxcb1{a} libxcb1-dev{a} libxdmcp-dev{a} libxdmcp6{a} libxext-dev{a} libxext6{a} libxft-dev{a} libxft2{a}
  libxml2{a} libxmu-dev{a} libxmu-headers{a} libxmu6{a} libxpm-dev{a} libxpm4{a} libxrender-dev{a}
  libxrender1{a} libxss-dev{a} libxss1{a} libxt-dev{a} libxt6{a} m4{a} man-db{a} pdksh{a} pkg-config{a}
  po-debconf{a} quilt{a} swig{a} swig2.0{a} tcl8.5{a} tcl8.5-dev{a} tk8.5{a} tk8.5-dev{a} ttf-dejavu-core{a}
  ucf{a} x11-common{a} x11proto-core-dev{a} x11proto-input-dev{a} x11proto-kb-dev{a} x11proto-render-dev{a}
  x11proto-scrnsaver-dev{a} x11proto-xext-dev{a} xorg-sgml-doctools{a} xtrans-dev{a} zlib1g-dev{a}
The following packages are RECOMMENDED but will NOT be installed:
  cmap-adobe-cns1 cmap-adobe-gb1 cmap-adobe-japan1 cmap-adobe-japan2 cmap-adobe-korea1 curl gnome-terminal
  konsole krb5-locales libmail-sendmail-perl libpaper-utils libtool libtool:i386 libx11-doc lynx-cur wget
  wget:i386 xml-core xterm
0 packages upgraded, 124 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.8 MB/39.4 MB of archives. After unpacking 121 MB will be used.
The following packages have unmet dependencies:
 pbuilder-satisfydepends-dummy : Depends: liblualib50-dev which is a virtual package.
                                 Depends: ruby but it is not going to be installed.
                                 Depends: ruby1.8-dev but it is not going to be installed.
                                 Depends: php5-dev but it is not going to be installed.
                                 Depends: php5-cli but it is not going to be installed.
                                 Depends: ocaml-nox but it is not going to be installed.
                                 Depends: python-dev but it is not going to be installed.
                                 Depends: libcairo2-dev but it is not going to be installed.
                                 Depends: libpango1.0-dev but it is not going to be installed.
                                 Depends: guile-1.8-dev but it is not going to be installed.
                                 Depends: d-shlibs but it is not going to be installed.
                                 Depends: python-support which is a virtual package.
                                 Depends: librsvg2-dev but it is not going to be installed.
                                 Depends: libdevil-dev which is a virtual package.
                                 Depends: libgts-dev which is a virtual package.
                                 Depends: liblasi-dev which is a virtual package.
                                 Depends: libtiff4-dev but it is not going to be installed.
Unable to resolve dependencies! Giving up...
The following NEW packages will be installed:
  autotools-dev{a} bison{a} bsdmainutils{a} debhelper{a} dh-apparmor{a} diffstat{a} file{a} flex{a}
  fontconfig-config{a} gettext{a} gettext-base{a} ghostscript{a} groff-base{a} gs-cjk-resource{a} gsfonts{a}
  html2text{a} intltool-debian{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a}
  libbison-dev{a} libcroco3{a} libcups2{a} libcupsimage2{a} libexpat1{a} libexpat1-dev{a} libfl-dev{a}
  libfontconfig1{a} libfontconfig1-dev{a} libfreetype6{a} libfreetype6-dev{a} libgcrypt11{a} libgd2-noxpm{a}
  libgd2-noxpm-dev{a} libgettextpo0{a} libgnutls26{a} libgpg-error0{a} libgs9{a} libgs9-common{a}
  libgssapi-krb5-2{a} libice-dev{a} libice6{a} libidn11{a} libijs-0.35{a} libjasper1{a} libjbig2dec0{a}
  libjpeg-dev{a} libjpeg-turbo8{a} libjpeg-turbo8-dev{a} libjpeg8{a} libjpeg8-dev{a} libk5crypto3{a}
  libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} liblcms2-2{a} libltdl-dev{a} libltdl7{a} libmagic1{a}
  libp11-kit0{a} libpaper1{a} libperl-dev{a} libperl5.14{a} libpipeline1{a} libpng12-dev{a} libpopt0{a}
  libpthread-stubs0{a} libpthread-stubs0-dev{a} libsm-dev{a} libsm6{a} libtasn1-3{a} libtiff4{a}
  libunistring0{a} libx11-6{a} libx11-data{a} libx11-dev{a} libxau-dev{a} libxau6{a} libxaw7{a} libxaw7-dev{a}
  libxcb1{a} libxcb1-dev{a} libxdmcp-dev{a} libxdmcp6{a} libxext-dev{a} libxext6{a} libxft-dev{a} libxft2{a}
  libxml2{a} libxmu-dev{a} libxmu-headers{a} libxmu6{a} libxpm-dev{a} libxpm4{a} libxrender-dev{a}
  libxrender1{a} libxss-dev{a} libxss1{a} libxt-dev{a} libxt6{a} m4{a} man-db{a} pdksh{a} pkg-config{a}
  po-debconf{a} quilt{a} swig{a} swig2.0{a} tcl8.5{a} tcl8.5-dev{a} tk8.5{a} tk8.5-dev{a} ttf-dejavu-core{a}
  ucf{a} x11-common{a} x11proto-core-dev{a} x11proto-input-dev{a} x11proto-kb-dev{a} x11proto-render-dev{a}
  x11proto-scrnsaver-dev{a} x11proto-xext-dev{a} xorg-sgml-doctools{a} xtrans-dev{a} zlib1g-dev{a}
The following packages are RECOMMENDED but will NOT be installed:
  cmap-adobe-cns1 cmap-adobe-gb1 cmap-adobe-japan1 cmap-adobe-japan2 cmap-adobe-korea1 curl gnome-terminal
  konsole krb5-locales libmail-sendmail-perl libpaper-utils libtool libtool:i386 libx11-doc lynx-cur wget
  wget:i386 xml-core xterm
0 packages upgraded, 124 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.8 MB/39.4 MB of archives. After unpacking 121 MB will be used.
Abort.
 -> Finished parsing the build-deps
Reading package lists...
Building dependency tree...
Reading state information...
fakeroot is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 pbuilder-satisfydepends-dummy : Depends: tk8.5-dev but it is not going to be installed
                                 Depends: tcl8.5-dev but it is not going to be installed
                                 Depends: debhelper (>= 8) but it is not going to be installed
                                 Depends: libfreetype6-dev but it is not going to be installed
                                 Depends: zlib1g-dev but it is not going to be installed
                                 Depends: libjpeg-dev
                                 Depends: libpng12-dev but it is not going to be installed
                                 Depends: libxaw7-dev but it is not going to be installed
                                 Depends: bison
                                 Depends: flex
                                 Depends: autotools-dev but it is not going to be installed
                                 Depends: pdksh but it is not going to be installed
                                 Depends: libexpat1-dev but it is not going to be installed
                                 Depends: libfontconfig1-dev but it is not going to be installed
                                 Depends: libltdl3-dev
                                 Depends: swig but it is not going to be installed
                                 Depends: libperl-dev but it is not going to be installed
                                 Depends: libgd2-noxpm-dev (>= 2.0.35) but it is not going to be installed
                                 Depends: quilt (>= 0.40) but it is not going to be installed
                                 Depends: groff-base
                                 Depends: ghostscript
                                 Depends: liblualib50-dev but it is not installable
                                 Depends: ruby
                                 Depends: ruby1.8-dev but it is not going to be installed
                                 Depends: php5-dev but it is not going to be installed
                                 Depends: php5-cli but it is not going to be installed
                                 Depends: ocaml-nox but it is not going to be installed
                                 Depends: python-dev but it is not going to be installed
                                 Depends: libcairo2-dev but it is not going to be installed
                                 Depends: libpango1.0-dev but it is not going to be installed
                                 Depends: guile-1.8-dev but it is not going to be installed
                                 Depends: d-shlibs but it is not going to be installed
                                 Depends: python-support but it is not installable
                                 Depends: librsvg2-dev but it is not going to be installed
                                 Depends: libdevil-dev but it is not installable
                                 Depends: libgts-dev but it is not installable
                                 Depends: liblasi-dev but it is not installable
                                 Depends: libtiff4-dev but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
I: Copying back the cached apt archive contents
I: unmounting /var/cache/pbuilder/ccache filesystem
I: unmounting dev/pts filesystem
I: unmounting proc filesystem
I: cleaning the build env
I: removing directory /var/cache/pbuilder/build//10826 and its subdirectories

$ apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.

Revision history for this message
William Grant (wgrant) said :
#5

You'll need to debug the problem with your package locally. http://developer.ubuntu.com/packaging/html/ and #ubuntu-packaging on irc.freenode.net might be helpful.

Revision history for this message
Dwight Perry (dperry-deactivatedaccount) said :
#6

Will look at information provided at the links recommended.

Revision history for this message
Dwight Perry (dperry-deactivatedaccount) said :
#7

I can reproduce the build failure when I use pbuilder. The tclConfig.sh file is located in /usr/lib/tcl8.5 but the pbuilder generated build fails to find it. When I use 'dpkg-buildpackage -B' there is no problem. Does launchpad use pbuilder or dpkg-buildpackage? I have tried including a lines in the rules file similar to
with-tcl= path to tclConfig.sh
with-tclconf= path to tclConfig.sh

to no avail.

Revision history for this message
Dwight Perry (dperry-deactivatedaccount) said :
#8

I have successfully built my package using pbuilder. I had to link /usr/lib/tk8.5/tkConfig.sh to /usr/lib/tkConfig.sh and link /usr/lib/tcl8.5/tclConfig.sh to /usr/lib/tclConfig.sh. It seems that pbuilder expects to find these files in /usr/lib. Can someone verify or arrange for these links to be created on the amd64 pecise build hosts? I am assuming that the amd64 precise builds are using pbuilder.

Revision history for this message
Best William Grant (wgrant) said :
#9

Like pbuilder, Launchpad buildds have very few packages installed initially; tcl isn't installed until apt sees that your package Build-Depends on it. So no, we can't create random symlinks like that. In this case I suspect you want to add tcl-dev to your Build-Depends line, as that's the package that provides /usr/lib/tclConfig.sh.

Revision history for this message
Dwight Perry (dperry-deactivatedaccount) said :
#10

The problem was that I used tcl8.5-dev in the control file. Replacing that with tcl-dev solved my problem.
Thanks for your help.