gdebi satisfydepends fails for arch i386
Hi
When I try to build a package using the gdebi build-dependency resolver with a i386 architecture on a 64-bit host, the build consistantly fails. To reproduce, on 64-bit Precise execute:
$ sudo pbuilder create --basetgz /var/cache/
$ sudo pbuilder build --basetgz /var/cache/
W: /home/vagrant/
I: using fakeroot in build.
I: Current time: Wed Jan 16 12:28:29 UTC 2013
I: pbuilder-
I: Building the build Environment
I: extracting base tarball [/var/cache/
I: creating local configuration
I: copying local configuration
I: mounting /proc filesystem
I: mounting /dev/pts filesystem
I: Mounting /var/cache/
I: policy-rc.d already exists
I: Obtaining the cached apt archive contents
I: Setting up ccache
I: Installing the build-deps
Traceback (most recent call last):
File "/usr/bin/gdebi", line 80, in <module>
debi = GDebiCli(options)
File "/usr/share/
"--
File "/usr/lib/
errread, errwrite)
File "/usr/lib/
raise child_exception
OSError: [Errno 2] No such file or directory
E: pbuilder-
I: Copying back the cached apt archive contents
I: unmounting /var/cache/
I: unmounting dev/pts filesystem
I: unmounting proc filesystem
I: cleaning the build env
I: removing directory /var/cache/
After investigating I found the call in GDebiCli.py, line 53, tries to call "/usr/bin/dpkg --print-
$ sudo -i
# pbuilder login --basetgz /var/cache/
# /var/cache/
-bash: /var/cache/
I get the same "No such file or directory" that the python subprocess returns. The dpkg binary exists; I can stat it and file reports it is a "ELF 32-bit LSB executable". I can also call it just fine from within the chroot:
# fg
# /usr/bin/dpkg --print-
i386
It seems to fail when called from the host. The call from pbuilder responsible for this is on line 38 of the /usr/lib/
INSTALL=
So, gdebi at some point calls dpkg in the root of the chroot to obtain the architecture and that is when things go wrong. Unfortunately I don't know why. hence the post ;) Am I doing something wrong or is this a bug? I also tested a 64-bit chroot and it works just fine.
Here is my pbuilderrc:
$ cat /etc/pbuilderrc
MIRRORSITE="http://
COMPONENTS="main restricted universe multiverse"
ALLOWUNTRUSTED=yes
PBUILDERSATISFY
I am using Ubuntu 12.04 64-bit and pbuilder 0.208ubuntu1 from the stock repo.
Thanks
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Ubuntu pbuilder Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Chris de Villiers for more information if necessary.