🐞 Although the Fortran compiler and environment work, they are not installed by default.
To enable the compiler on the build host, you need to add the following line to the local.conf
file:
FORTRAN:forcevariable = ",fortran" # syntax for "Honister" or newer releases
FORTRAN_forcevariable = ",fortran" # syntax for releases older than "Honister"
Also, you need to pull the fortran runtime environment (the libgfortran
package) on the target system. Example:
DEPENDS = "libgfortran"
🐞 Out of the two existing Go compilers (Google’s and GCC’s), only Google’s compiler is supported in yocto. This means that the range of supported architectures (1, 2) for target systems is limited to x86, x86_64, arm, arm64, ppc64, mips, mips64 and riscv64.
Note the lack of support for 32-bit PowerPC.
Another issue with Go is that, when building using an ARM64 host, its configuration script fails:
ERROR: Logfile of failure stored in: [...]/build/tmp/work/aarch64-linux/go-native/1.14.1-r0/temp/log.do_configure.361929
Log data follows:
| DEBUG: Executing shell function do_configure
| # Building C bootstrap tool.
| cmd/dist
| go tool dist: unknown architecture: aarch64
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '[...]/build/tmp/work/aarch64-linux/go-native/1.14.1-r0/temp/run.do_configure.361929' failed with exit code 1:
| # Building C bootstrap tool.
| cmd/dist
| go tool dist: unknown architecture: aarch64
| WARNING: exit code 1 from a shell command.
|
ERROR: Task ([...]/poky/meta/recipes-devtools/go/go-native_1.14.bb:do_configure) failed with exit code '1'
Rust support is added using the meta-rust layer.
When building using an ARM64 host, it fails due to missing checksums on source packages.
📝TODO: Recheck for Kirkstone.
ERROR: rust-native-1.43.0-r0 do_fetch: No checksum specified for '[...]/downloads/rustc-1.43.1-aarch64-unknown-linux-gnu.tar.xz', please add at least one to the recipe:
SRC_URI[rustc-snapshot-aarch64.sha256sum] = "7b424762265025d4bc16b6b80231db06393ac411064cf78d7b60721f7d1f5502"
ERROR: rust-native-1.43.0-r0 do_fetch: Fetcher failure for URL: 'https://static.rust-lang.org/dist/rustc-1.43.1-aarch64-unknown-linux-gnu.tar.xz;name=rustc-snapshot-aarch64;subdir=rust-snapshot-components'. Missing SRC_URI checksum
ERROR: Logfile of failure stored in: [...]/build/tmp/work/aarch64-linux/rust-native/1.43.0-r0/temp/log.do_fetch.361841
ERROR: Task (virtual:native:[...]/poky/meta-rust/recipes-devtools/rust/rust_1.43.0.bb:do_fetch) failed with exit code '1'
ERROR: cargo-native-1.43.0-r0 do_fetch: No checksum specified for '[...]/downloads/rustc-1.43.1-aarch64-unknown-linux-gnu.tar.xz', please add at least one to the recipe:
SRC_URI[rustc-snapshot-aarch64.sha256sum] = "7b424762265025d4bc16b6b80231db06393ac411064cf78d7b60721f7d1f5502"
ERROR: cargo-native-1.43.0-r0 do_fetch: Fetcher failure for URL: 'https://static.rust-lang.org/dist/rustc-1.43.1-aarch64-unknown-linux-gnu.tar.xz;name=rustc-snapshot-aarch64;subdir=rust-snapshot-components'. Missing SRC_URI checksum
ERROR: Logfile of failure stored in: [...]/build/tmp/work/aarch64-linux/cargo-native/1.43.0-r0/temp/log.do_fetch.361842
ERROR: Task (virtual:native:[...]/poky/meta-rust/recipes-devtools/cargo/cargo_1.43.0.bb:do_fetch) failed with exit code '1'
🐞 The support for D language is missing.
The support for Haskell is missing.
🐞 The firefox build is broken.