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

Re: Problem about install cross compile tool on lenny



On Fri, 4 May 2007 19:56:15 +0100
Neil Williams <linux@codehelp.co.uk> wrote:

> > The following packages have unmet dependencies.
> >   gcc-4.1-arm-linux-gnu: Depends: libssp0 but it is not going to be installed
> >   libc6-dev-arm-cross: Depends: libc6-arm-cross (= 2.3.6.ds1-8) but
> > 2.5-4em1 is to be installed
> > E: Broken packages
>
> Ah, now I do know what's happened there.

The fact that apt is describing 2.5-4em1 here worries me - please check
your sources lists, you SHOULD include emdebian.org/debian you should
NOT include emdebian.org/emdebian. 2.5-4 is fine, 2.5-4em1 is not.

Packages using the em1 version suffix are TARGET packages, intended for
the embedded device NOT the build system.

Compare:
http://www.emdebian.org/packages/search.php?package=libc6&arch=arm&distro=unstable

http://www.emdebian.org/toolchains/search.php?package=libc6-arm-cross&arch=all&distro=unstable

You should have a source for:
deb http://www.emdebian.org/debian/ unstable main
deb-src http://www.emdebian.org/debian/ unstable main

You should NOT have a source for:
deb http://www.emdebian.org/emdebian/ unstable main
deb-src http://www.emdebian.org/emdebian/ unstable main

(substitute testing for unstable as appropriate).

You should never see an 'emN' (where N is a sequential digit) in the
apt output on the build system - only in the output of emdebian-tools
or dpkg operations on the binary packages built by emdebian-tools
(after the toolchain is installed).

The problem is that if the emdebian TARGET repository is mentioned in
ANY sources list for apt on the build system, apt will consider
2.5-4em1 to be MORE RECENT than 2.5-4 and will use that package in
preference when looking for an arm binary to pass to apt-cross and then
to dpkg-cross. Now that may be useful in certain circumstances but it
should not be the default action - the dependencies of the emN package
can be radically different to the Debian package. Indeed, emdebian
seeks to ensure that some dependencies are different between Debian and
Emdebian packages of the same software in order to make a smaller
overall system.

apt-cross and dpkg-cross need to present the same dependencies to the
build system as the native package - emdebian-tools will handle the
dependencies of the built package. Getting the wrong repository could
mean that the package created by dpkg-cross would not be installable on
any Debian system.

Whilst emdebian does seek to support mixing packages and having
compatibility between Emdebian and Debian, it is not easy and should
probably not be the default action.

Ah well, it all makes for more documentation for emdebian-tools . . .

--


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgp84OKW60qpS.pgp
Description: PGP signature


Reply to: