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

Re: Problem about install cross compile tool on lenny



Dear Neil,

Thank you for all your detailed information.
I followed all your instructions.
But still, I've got the following problem when running "emsetup --verbose".

The following packages have unmet dependencies.
  gcc-4.1-arm-linux-gnu: Depends: libssp0 but it is not going to be installed
E: Broken packages

And I tried "apt-cross -a arm -i libssp0 gcc-4.1-arm-linux-gnu libssp0"
Still fail.:(
shuang:~# apt-cross -a arm -i gcc-4.1-arm-linux-gnu libssp0
Checking dependencies: /
4 packages to install.
dpkg-cross: package gcc-4.1-base doesn't provide any useful files. Skipping.
dpkg-cross: package gcc-4.1-base doesn't provide any useful files. Skipping.
Building libc6-arm-cross_2.5-4_all.deb
Building libssp0-arm-cross_4.1.1-21_all.deb
Unpacking libc6-arm-cross
Unpacking libssp0-arm-cross
Setting up libc6-arm-cross (2.5-4) ...
dpkg: dependency problems prevent configuration of libssp0-arm-cross:
 libssp0-arm-cross depends on gcc-4.1-base (= 4.1.1-21); however:
  Version of gcc-4.1-base on system is 4.1.2-5.
dpkg: error processing libssp0-arm-cross (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libssp0-arm-cross
dpkg -i failed.

The gcc version on my system is 4.1.2-5.
I wonder if it is this caused the problem.:(

Thanks again for your great help.

And my source.lst is like this:
deb http://mirrors.kernel.org/debian/ unstable main non-free
deb http://mirrors.kernel.org/debian/ testing main non-free
deb http://www.emdebian.org/debian/ testing main
deb-src http://www.emdebian.org/debian/ testing main

deb http://ftp.uk.debian.org/debian testing main
deb-src http://ftp.uk.debian.org/debian testing main

I think that I met all the requirement you mentioned.
If I tried to downgrade my gcc, it seems that all software on my system is to be downgraded.
It'll be really horrible.:(

2007/5/5, Neil Williams <linux@codehelp.co.uk >:
- 显示引用文字 -
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/





--
失业
         牛坤
MSN:haoniukun@hotmail.com

Reply to: