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

Re: multiarch dependency hell. build amd64, can't install without also building i386

On 24/01/2013 12:56, Paul Johnson wrote:
> [...]
> I've just learned that, if I build amd64 packages, I can't install
> them for testing because I've not also built the i386 packages.
> [...]
> That's really inconvenient! I don't understand why there has to be a
> linkage between the shared library versions on amd64 and i386. Aren't
> they separate?

Simply put, when foo:amd64 and foo:i386 are installed, all common files that are
shared between them must be bit-for-bit identical (though in practice this isn't
so, e.g. the gzipped files in /usr/share/doc/$pkg/). This is a reasonable
expectation when foo:amd64 and foo:i386 are of the same version, but it's
probably going to fail very miserably when they're of different versions, so
that's how it is.

for more information.

> You ask "why cairo?"  I am curious to know if a new libcairo2 fixes a
> little bug in Evince (invisible vertical quotes). So I worked through
> the packaging for cairo-1.12.10. dpkg-buildpackage -rfakeroot gives me
> the goods (after fiddling some patch fuzz):
> [...]

In your case, you could just very well install the packages, leave the
dependencies unresolved, and just run Evince as is to test.

> I expect your answer will be "yes, it really is that hard, you have to
> learn how to compile for i386 too". I'm trying
> (http://wiki.debian.org/Multiarch/HOWTO), but not making progress. I'm
> like a collection of monkies trying to type the Bible at random, I'm
> afraid.
> [...]

Just use sbuild/pbuilder, which basically compile things inside a chroot so you
don't have to deal with the cross-compilation mess. As long as the architecture
of the chroot you're compiling for is supported by the kernel you're running,
it'll work.

Kind regards,
Loong Jin

Attachment: signature.asc
Description: OpenPGP digital signature

Reply to: