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

Re: packages requiring ia32-libs ia32-libs-gtk



On Thu, Mar 14, 2013 at 10:32:16PM +0100, Michael wrote:
> I guess you meant i should download the i386 deb directly from google ?         

I didn't mean that but rather fixing the google earth package in
debian to behave like your installing on i386 even if you are on
amd64. The dependencies it generates are for amd64 before multiarch.
But one can fool it into building for i386:

mrvn@frosties:~% DEB_BUILD_ARCH=i386 make-googleearth-package   
...
Package: googleearth
Version: 6.0.3.2197+0.7.0-1
Section: non-free/science
Priority: optional
Maintainer:  <mrvn@frosties>
Architecture: i386
Depends: ttf-dejavu | ttf-bitstream-vera | msttcorefonts, libfreeimage3, lsb-core, libqtcore4, libgl1-mesa-glx
Suggests:
Description: Google Earth, a 3D map/planet viewer
 Package built with googleearth-package.
dpkg-deb: building package `googleearth' in `./googleearth_6.0.3.2197+0.7.0-1_i386.deb'.
Success!
You can now install the package with e.g. sudo dpkg -i <package>.deb

Unfortunately that also creates a package that depends on lsb-core:i386.


But downloading the deb directly should (in the future) work too.

> This seems to end up in dependency hell too :)
> 
> google-earth requires lsb-core:i386 which does not recognize the
> already installed alien v 8.88 (which is arch:all), but still insists
> on alien >= 8.36 (but no arch specified).

That will be due to alien not being Multi-Arch: foreign.
 
> (I wonder what prevents lsb-core from being arch:all.)
> 
> There seems to be at least one other problem because (commandline) 'ap-get install lsb-core:i386' yields
> 
> The following packages have unmet dependencies:
>  lsb-core:i386 : Depends: lsb-invalid-mta:i386 (>= 4.1+Debian9) but it is not installable or
>                           mail-transport-agent:i386
>                  Depends: binutils:i386 but it is not going to be installed
>                  Depends: bsdmainutils:i386 but it is not going to be installed
>                  Depends: cron:i386 or
>                           cron-daemon:i386
>                  Depends: make:i386 but it is not going to be installed
>                  Depends: psmisc:i386 but it is not going to be installed
>                  Depends: alien:i386 (>= 8.36) but it is not installable
>                  Depends: python:i386 (>= 2.6.6-7~) but it is not going to be installed
>                  Depends: time:i386 but it is not going to be installed
> E: Unable to correct problems, you have held broken packages.
> 
> This is with debian testing / unstable.
> 
> Any suggestions ?

lsb-core is a rather difficult package for multiarch. Most of the
depends should work as multiarch (even if they aren't all
multiarchified yet). But then there is binutils and python. Binutils
can't be multiarchified because a foreign binutils would produce
different output. And python is a script language with bindings in
binary form. It's one of those few packages that are both architecture
independent and architecture depended at the same time.

I believe you are out of luck there with lsb-core:i386 for now. There
are 3 ways out of that:

1) install lsb-core:i386 with all the i386 packges it depends on. This
will replace amd64 package (like binutils) with i386 ones and might
need quite a lot of packages in 32bit to get to a sane state again.
It's hard to say how much without trying. But given that binutils is
included that would be disruptive to compiling stuff. So for me that
wouldn't be an option.

2) See if you can't get google-earth to accept lsb-core:amd64 instead
or replace the dependency with the actual packages it needs (which can
then be Multi-Arch: foreign).

I certain there is nothing from lsb-core:i386 that google-earth needs
that isn't in lsb-core:amd64. But that can't currently (in wheezy) be
expressed as dependencies. As a quick fix I would edit
/usr/bin/make-googleearth-package to remove the lsb-core dependency
and then use "DEB_BUILD_ARCH=i386 make-googleearth-package" to build
an i386 package. 

3) Stick with the pre-multiarch amd64 package that
make-googlearth-package builds.

googleearth_6.0.3.2197+0.7.0-1_amd64.deb installed fine for me and I
could start it.

MfG
	Goswin

PS: you might also want to file a bugreport for googlearth-package to
support multiarch.


Reply to: