[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dpkg fails to install 32-bit adobe acrobat reader on 64-bit wheezy system: depends issue



On Fri, Apr 20, 2012 at 10:40:13AM -0700, Chris Hiestand wrote:
> I tried the debian-user list first with no luck so I'm checking with the
> experts.  This seems like some kind of bug in dpkg.

> So this works fine on 64-bit squeeze:
> > chiestand@squeeze:/tmp$ sudo dpkg -i --force-architecture adobereader-enu_9.5.1_i386.deb

> But not on 64-bit wheezy:
> > chiestand@wheezy:/tmp$ sudo dpkg -i --force-architecture adobereader-enu_9.5.1_i386.deb
> > (Reading database ... 783153 files and directories currently installed.)
> > Preparing to replace adobereader-enu 9.5.1 (using areader.old.deb) ...
> > Unpacking replacement adobereader-enu ...
> > dpkg: dependency problems prevent configuration of adobereader-enu:
> > adobereader-enu depends on libgtk2.0-0 (>= 2.4).
> > dpkg: error processing adobereader-enu (--install):
> > dependency problems - leaving unconfigured
> > Processing triggers for man-db ...
> > Errors were encountered while processing:
> > adobereader-enu

> Notice the dependency failure. But the depend is actually satisfied in wheezy:
> > chiestand@wheezy:/tmp$ dpkg -l libgtk2.0-0
> > Desired=Unknown/Install/Remove/Purge/Hold
> > | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
> > |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
> > ||/ Name                        Version                     Description
> > +++-===========================-===========================-======================================================================
> > ii  libgtk2.0-0:amd64           2.24.10-1                   GTK+ graphical user interface library

> Is this a multi-arch issue? I've tried setting up multi-arch:
> > sudo dpkg --add-architecture i386
> > sudo apt-get update

> But I get the same result.

Yes, this is a multiarch issue.  It's no longer enough to use
--force-architecture to install packages, because the semantics of forcing
the architecture have changed: it now means, approximately, "install this
package even though it's of an architecture that's not configured", where
previously it meant something more like "pretend this package is of my
system's architecture".  The difference is that now, dpkg knows not only
that the package is of the wrong architecture but that its dependencies are
not satisfied.

So to get the previous behavior, you need --force-architecture
--force-depends.

Though hopefully, you will shortly not need to --force at all and will be
able to fully resolve the dependencies using multiarch-enabled library
packages.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org

Attachment: signature.asc
Description: Digital signature


Reply to: