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

How do I fix a -dcv1 vs. -cross mess?



Hi All,

I have got into a bit of a mess with my armeb cross-compilation environment
and I think I need help now, before I make things worse with clueless tinkering.

The target is my NSLU2, running the unofficial armeb sarge from debonaras.org.
This dates from about a year ago and I have no desire to change it.  At that time
I had a working cross-compilation environment on my old PC, but since then I
have replaced the PC and I'm finding it difficult to get it working on the new
system.

The problem is that some of the dpkg-cross'd packages that I have were converted
with one version of dpkg-cross and some were converted with another, before and
after the introduction of the -dcv1 suffix.  Unfortunately I can't say exactly
which packages were built with which version.

Here's a representative example: I want to compile some C++ code that uses
Boost.  On the NSLU2 I already have the Boost libraries installed:

ii  libboost-program-op 1.32.0-6            program options library for C++
ii  libboost-thread1.32 1.32.0-6            portable C++ multi-threading

So I want to install dpkg-cross'd versions of the matching -dev packages on
my PC.  I get the armeb .deb from debonaras, convert and install:

$ wget http://ftp.debonaras.org/debian/pool/main/b/boost/libboost-dev_1.32.0-6_armeb.deb

$ dpkg-cross -b -a armeb *_armeb.deb
Building libboost-dev-armeb-cross_1.32.0-6_all.deb

# dpkg -i *_all.deb
Selecting previously deselected package libboost-dev-armeb-cross.
(Reading database ... 58249 files and directories currently installed.)
Unpacking libboost-dev-armeb-cross (from libboost-dev-armeb-cross_1.32.0-6_all.deb) ...
dpkg: dependency problems prevent configuration of libboost-dev-armeb-cross:
 libboost-dev-armeb-cross depends on libstdc++-dev-armeb-dcv1; however:
  Package libstdc++-dev-armeb-dcv1 is not installed.
dpkg: error processing libboost-dev-armeb-cross (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libboost-dev-armeb-cross

So the newly-dpkg-cross'd .deb depends on libstdc++-dev-armeb-dcv1.
I don't have anything called that, but I do have this:

Package: libstdc++5-3.3-dev-armeb-cross
Status: install ok installed
Priority: extra
Section: devel
Installed-Size: 4492
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: all
Source: gcc-3.3
Version: 1:3.3.6-13
Provides: libstdc++-dev-armeb-cross
Depends: gcc-3.3-base (>= 1:3.3.6-13), libstdc++5-armeb-cross (>= 1:3.3.6-13), libc6-dev-armeb-cross (>= 2.3.2.ds1-16), g++-3.3-armeb-linux-gnu (>= 1:3.3.6-13)
Description: The GNU Standard C++ Library v3 (development files)

Note that this provides libstdc++-dev-armeb-cross, not libstdc++-dev-armeb-dcv1.

So, I could throw away my entire cross-compilation world and build it again
using the version of dpkg-cross that does -dcv1 not -cross.  But this would be
very painful.  I'm hoping that there is some more or less hacky way that
I can make everything "just work".

Many thanks in advance for any suggestions.

Regards,

Phil.




Reply to: