Installing a cross-toolchain to build ARM binaries on Debian

9,166

Solution 1

Debian now includes cross-toolchains officially, though they won't be part of the next Stable release (8.0). Virtual packages are provided.

Solution 2

Emdebian repositories are recommended to be used in stable most of the time since there could be utilities not built in the repositories, packages that were pulled back, etc. If you want to ensure that all your libraries have the correct dependencies, I would suggest stable or testing since they are less likely to have some dependency problem or have something that got borked.

Solution 3

Stable does not help. The 4.7 - 4.8 inconsistency is still there. The inconsistency has existed for me since (around) version 4.4 of gcc.

Share:
9,166

Related videos on Youtube

tshepang
Author by

tshepang

I do software development for a living and as a hobby. My favorite language is Rust, and I've used Python much in the past. My OS of choice is Debian.

Updated on September 18, 2022

Comments

  • tshepang
    tshepang over 1 year

    I tried to install a cross toolchain so I could build Linux kernel on amd64 (Debian testing "jessie") for my ARM system. I have this entry in sources.list:

    deb http://www.emdebian.org/debian sid main
    

    When I tried to install gcc-4.7-arm-linux-gnueabi, I got an error:

    cc-4.7-arm-linux-gnueabi : Depends: libgomp1-armel-cross (>=4.7.2-5) but it is not going to be installed

    libgomp1-armel-cross in turn depends on gcc-4.8-base-armel-cross which is not available anywhere.

    At some point, I did manage to install these cross-build tools from the same repository, and even built a kernel that now runs on these ARM systems some weeks ago. Is there something broken in that repository? I tried a few other versions of GCC, and still get the same issue.

    A not-ideal solution is cross-building in an Ubuntu 12.04 VM. The distro has the ARM cross-compiler available from its official repositories.

  • tshepang
    tshepang over 10 years
    stable required me to enable squeeze, not wheezy as I expected. I also had to settle for gcc-4.4-arm-linux-gnueabi.
  • Ludwig Schulze
    Ludwig Schulze over 10 years
    Hope you don't need a newer version of the toolchain D:.
  • tshepang
    tshepang over 10 years
    Not really. This will do.
  • tshepang
    tshepang about 10 years
    What does borked mean in this context?
  • Ludwig Schulze
    Ludwig Schulze about 10 years
  • Jakob Bennemann
    Jakob Bennemann almost 10 years
    Consider adding a source to confirm the existence of this inconsistency.