%general-entities; ]> Meson Cross Toolchain File Most applications that rely on the Meson build system have decent support for cross compilation, ie. compiling 32-bit binaries on a 64-bit system. It can be as easy as setting the CC, CXX, and PKG_CONFIG_PATH variables before using the meson setup .. command to compile 32-bit binaries on a 64-bit system. However, some projects are more complicated for many different reasons, leading to the necessity of a Meson cross toolchain file. It specifies the compilers, options that should be invoked, the pkg-conf binary (or rather symlink that uses a certain personality file) to use, llvm-config to use, etc. This isn't required for unless you want to install Mesa's NVK driver, which isn't in the book at the moment. It is needed for Gstreamer which is a recommended dependency of . The instructions below will show how to create and use the file if necessary. Creating the Cross Toolchain File Create the following toolchain file by running the following commands as the root user: mkdir -v /usr/share/meson/cross cat > /usr/share/meson/cross/lib32 << "EOF" [binaries] c = ['gcc', '-m32'] cpp = ['g++', '-m32'] rust = ['rustc', '--target', 'i686-unknown-linux-gnu'] pkg-config = 'i686-pc-linux-gnu-pkg-config' cups-config = 'cups-config' llvm-config = 'llvm-config32' strip = 'strip' [built-in options] libdir = 'lib32' [host_machine] system = 'linux' subsystem = 'linux' kernel = 'linux' cpu_family = 'x86' cpu = 'i686' endian = 'little' EOF How to Use the File Instead of setting environment variables before invoking meson setup .., you can simply do: meson setup .. --cross-file lib32 <other-options>