On Sun, 07 Jun 2009 18:18:18 +0100 Chris Jones wrote: > I've just changed my Balloon build machine. It's now a virtual machine > running under VMWare Fusion, and it works very nicely. Except that I > can't get a complete Emdebian armel toolchain installed. > This happens to me every time I try to set up a new machine with the > toolchain, in spite of the instructions in the balloonboard.org Wiki, > some of which I even wrote. Hector is the person to contact with the existing toolchains, this is certainly a failure in the packages available in the repository. (CC:'d) I tested with a lenny debootstrap which I cleaned out the old armel toolchain. This sequence worked for my test: $ sudo apt-get -f install $ apt-cross -a armel -i libstdc++6 $ sudo apt-get install libstdc++6-4.3-dev-armel-cross linux-libc-dev-armel-cross libstdc++6-4.3-pic-armel-cross $ emsetup -a armel $ emsetup -a armel --report That should complete the task. (My cleanup call:) $ sudo apt-get --purge remove libc6-dev-armel-cross gcc-4.3-arm-linux-gnueabi-base libc6-dev-i386 binutils-arm-linux-gnueabi libc6-armel-cross libstdc++6-armel-cross linux-libc-dev-armel-cross gcc-4.3-arm-linux-gnueabi-base g++-4.3-arm-linux-gnueabi and the *actual* list of packages that matter: binutils-arm-linux-gnueabi cpp-4.3-arm-linux-gnueabi g++-4.3-arm-linux-gnueabi gcc-4.3-arm-linux-gnueabi gcc-4.3-arm-linux-gnueabi-base libc6-armel-cross libc6-dev-armel-cross libc6-dev-i386 libgcc1-armel-cross libstdc++6-4.3-dev-armel-cross libstdc++6-4.3-pic-armel-cross libstdc++6-armel-cross linux-libc-dev-armel-cross Once all of those are installed, you will not need any packages to use the toolchain. > The pattern is this: > - install debian stable (lenny, in this case) on new machine > - aptitude install emdebian-tools > - edit /etc/apt/sources.list.d/emdebian.sources.list to use stable branch > - try a 'make' of balloonboard source, just out of hope > - it fails, usually when looking to see if arm-linux-gnueabi-g++ is > installed. apt-get install g++-4.1-arm-linux-gnueabi conks out with a > dependency problem > - try emsetup -a armel. Get same depedency problem. At the moment it's > libstdc++6-4.3-dbg-armel-cross that's causing trouble. I can't understand why that -dbg package is being requested - it is a suggested dependency, you should be able to completely ignore it. None of the emsetup routines require the dbg packages. > - try emchain -a armel. Feel pleased at how quickly new machine builds > toolchain. Final stage of its install fails like this: > > > Should it always be this hard? Can I help fix it? emsetup should be able to sort this out but, unfortunately, the packages in the repository are broken - the message you got at the first hurdle was (and is) entirely correct. The above workaround is needed until the packages can be fixed. (AFAICT the wrong version of libstdc++6-armel-cross has been included into the Lenny repository - one that depends on a later version of gcc-4.3-arm-linux-gnueabi-base than is actually available in Lenny. Using apt-cross, you effectively short-circuit the repository, get the correct version of libstdc++6 for armel from Debian Lenny (which has the correct dependency data) and then cross it (at which point the dependency on the Architecture:all gcc-*-base package is dropped anyway). Note that after installation, you will still get this message from apt: $ sudo apt-get install libstdc++6-armel-cross The following packages have unmet dependencies. libstdc++6-armel-cross: Depends: gcc-4.3-arm-linux-gnueabi-base (= 4.3.3-3) but 4.3.2-1.1 is to be installed E: Broken packages This is because apt believes the repository and wants to try and replace your (working) libstdc++6-armel-cross with the broken one. Hector, can we replace the libstdc++6-armel-cross in the Lenny toolchain repository with one that is built by using apt-cross from Lenny sources please? $ apt-cross -S stable -f -a armel -b libstdc++6 Can we also check the Lenny toolchains with edos-debcheck for all architectures? $ edos-debcheck -explain -failures < /var/lib/apt/lists/www.emdebian.org_debian_dists_stable_main_binary-amd64_Packages Passing that through ' ... 2>/dev/null|grep "NOT AVAILABLE"|wc -l' gives 248 errors, all related to wrong versions of -base or missing -base packages. -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/