Re: cross-compiling Debian packages
Nikita V. Youshchenko wrote:
I think I know now what the problem is, see below...
On Thu, Mar 16, 2006 at 07:35:41PM +0300, Nikita V. Youshchenko wrote:
As you see, I get depends with -dcv1 suffix as well as -cross
Yes, it's exactly what it should do.
Each package xxx-arm-cross package created with dpkg-cross >= 1.26
will Provide: xxx-arm-dcv1. In your case, this will not allow
libc6-arm-cross created by older dpkg-cross to satisfy dependency -
while libc6-arm-cross created by dpkg-cross >= 1.26 will satisfy it.
And that's correct, because previously dpkg-cross installed files
info /usr/arm-linux/, and now it will install files to
/usr/arm-linux-gnu/ - so libc6-arm-cross created by older dpkg-cross
can't satisfy the dependency.
Yes, I could guess all of this. However, why do I get -dcv1 as well
-arch-cross provides -arch-dcvX
Also, a quick grep in my old
sources for dpkg-cross-1.25 reveals that already that version had -gnu
No, I changed paths in 1.26 (first release after paths in debian toolchain
When I try to install generated -cross package I get unresolved
dependencies for libgcc1-arm-dcv1. This package is really called
libgcc1-arm-cross and is originated in the gcc source package, and
thus is not coming from dpkg-cross.
You have too old version of libgcc1-arm-cross, that does not provide
libgcc1-arm-dcv1 (and, btw, installs to /usr/arm-linux/)
No, that's not true. It does install into /usr/arm-linux-gnu.
I got this one from the latest gcc sources
(4.0.2-9). And it still does not provide libgcc1-arm-dcv1. I always
compile stuff from sources BTW, so that should have produced correct
I've updated gcc-4.0 source package to build -arch-cross packages with
proper provides, but still could not find time for 3.4/3.3. Help on that
OK. Can you re-post the patch? Or did you just change gcc source
package locally and posted build packages? I really would like to see
this change integrated, given that dpkg-cross in unstable is already
doing this -dcv thing...
Some prebuilt packages are at
The need for versioning does not justify IMHO the uglyness of
-dcv1 when compared to -cross. And it just "feels" wrong, since it
is not the type or instances of the files in the package that
changed, but the "packaging" of these files... Why couldn't you
solve that with version strings?
I don't see how version string can be safely used here - because
version strings from original debs are already used to handle
dependences. There are two different dependency requirements - one
that original packages should have version not less than ..., and
other - that dpkg-cross should be fresh enough to place files inside
new tree. I don't see way to use single version strings to handle both
Maybe embed a -dcvX in the version string?
No, because 1.2.4 will be greater than 1.2.3-dcvX