User Tools

Site Tools


raspberry:cross-platform-compile:crossbuild-essential-armhf

This is an old revision of the document!


crossbuild-essential-armhf


crossbuild-essential-armhf is essentially a convenience/meta-package that installs the appropriate cross-compilation components.

What is installed

On Debian Bookworm, crossbuild-essential-armhf version 12.9 declares only these direct dependencies:

gcc-arm-linux-gnueabihf
g++-arm-linux-gnueabihf
dpkg-cross

The meta-package itself is tiny. Those direct dependencies pull in the actual compiler, linker, target C library, headers and C++ runtime. The significant transitive packages on a clean Bookworm installation include:

gcc-12-arm-linux-gnueabihf
g++-12-arm-linux-gnueabihf
cpp-arm-linux-gnueabihf
cpp-12-arm-linux-gnueabihf
binutils-arm-linux-gnueabihf

libc6-armhf-cross
libc6-dev-armhf-cross
linux-libc-dev-armhf-cross

libgcc-s1-armhf-cross
libgcc-12-dev-armhf-cross
libstdc++6-armhf-cross
libstdc++-12-dev-armhf-cross

libasan8-armhf-cross
libatomic1-armhf-cross
libgomp1-armhf-cross
libubsan1-armhf-cross
<code>

`dpkg-cross` also brings in Debian packaging support, including `dpkg-dev`, Perl modules and `libdebian-dpkgcross-perl`. The exact complete transaction depends on which packages are already installed.

Importantly, `crossbuild-essential-armhf` does **not** install arbitrary target development libraries such as:

<code>
libssl-dev:armhf
libcurl4-openssl-dev:armhf
libasound2-dev:armhf

Those must be installed separately through Debian multiarch or supplied by a target sysroot. Adding armhf as a foreign architecture is required for installing :armhf multiarch packages, but it is not required merely to install the cross-toolchain packages listed above.

Check what would be installed

To see exactly what APT would add on a particular Debian system without installing anything:

sudo apt update
sudo apt install --simulate crossbuild-essential-armhf

To inspect the direct dependencies or recursively list dependencies:

apt-cache depends crossbuild-essential-armhf

apt-cache depends \
    --recurse \
    --no-recommends \
    --no-suggests \
    crossbuild-essential-armhf
raspberry/cross-platform-compile/crossbuild-essential-armhf.1788376801.txt.gz ยท Last modified: by oscar