-
Notifications
You must be signed in to change notification settings - Fork 232
ZZZArchived: Compatibility notes
The Jetson-TK1 is only supported up through the warrior
branch. The GCC 5 toolchain required for TK1 builds (for CUDA in particular) cannot be used with later OE-Core releases.
The kernel provided by NVIDIA for the Jetson TK1 is currently based on Linux 3.10, so you must set the OLDEST_KERNEL variable so that glibc will work properly. The jetson-tk1 machine configuration file does this, but if you build for other cortexa15 machines, you'll need to set this in a distro configuration file so it's consistent across all machines with that architecture.
This was also true for the Jetson TX1 kernel in L4T releases prior to R28.1.
The CUDA toolkit does not support GCC 6 until version 9.0. For morty and later builds, you'll need to set GCCVERSION to "5.%" in your builds if you need to build CUDA applications. Since GCC 5 was removed from OE-Core in the rocko release, recipes for CUDA 7 and CUDA 8 packages cannot be built without bringing in another layer to provide the GCC 5 recipes, or forward-porting the GCC 5 recipes to your distro layer (if you have one).
CUDA 6.5 (for the TK1) officially requires GCC 4, but GCC 5 may be made to work.
The CUDA toolkit does not support GCC 7 in version 9.0. For rocko-l4t-r28.2 and later builds, you'll need to set GCCVERSION to "6.%" in your builds if you need to build CUDA applications. Since GCC 6 was removed from OE-Core master after the rocko release, recipes for CUDA packages cannot be built without bringing in another layer to provide the GCC 6 recipes, or forward-porting the GCC 6 recipes to your distro layer (if you have one).
The CUDA toolkit does not support GCC 8 in version 10.0, and some NVIDIA binary-only libraries are only compatible with GCC/G++ 7. For warrior and later builds, you'll need to set GCCVERSION to "7.%" in your builds if you need to build CUDA applications. Since GCC 7 was removed from OE-Core master after the thud release, recipes for CUDA packages cannot be built without bringing in another layer to provide the GCC 7 recipes, or forward-porting the GCC 7 recipes to your distro layer (if you have one). The meta-tegra/contrib
layer
includes user-contributed recipes for gcc 7 which were ported from OE-Core. See this wiki page for information. Alternatively, see this wiki page for instructions on using the Linaro gcc 7 toolchain.
The CUDA 10.2 toolkit supports GCC/G++ versions no later than 8. For branches with L4T R32.4.2/JetPack 4.4 DP (currently dunfell-l4t-r32.4.2 and master), you'll need to set GCCVERSION to "8.%" in your builds if you need to include any CUDA applications. Since GCC 8 was removed from OE-Core after the warrior release, recipes for CUDA packages cannot be built without bringing in another layer to provide the GCC 7 recipes, or forward-porting the GCC 8 recipes to your distro layer (if you have one). The meta-tegra/contrib
layer
includes user-contributed recipes for gcc 8 which were ported from OE-Core. See this wiki page for information.