1Supported kernel, libc, toolchain versions 2========================================== 3 41. Build testing with GitHub Actions 5------------------------------------ 6 7We test master branch in https://github.com/linux-test-project/ltp/actions[GitHub Actions] 8to ensure LTP builds on various distributions including old, current and bleeding edge. 9We test both gcc and clang toolchains, various architectures with cross-compilation. 10For list of tested distros see 11https://github.com/linux-test-project/ltp/blob/master/.github/workflows/ci.yml[.github/workflows/ci.yml]. 12 13 14NOTE: GitHub Actions does only build testing, passing the CI means only that 15 the test compiles fine on variety of different distributions and releases. 16 GitHub Actions also uses the latest distribution image of a particular release. 17 181.1 Oldest tested distributions 19~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20 21[align="center",options="header"] 22|=============================================================== 23| Distro | kernel | glibc | gcc | clang 24| openSUSE Leap 42.2 | 4.4 | 2.22 | 4.8.5 | - 25| Ubuntu 18.04 LTS bionic | 4.15 | 2.27 | 7.3.0 | - 26|=============================================================== 27 28Older distributions are not officially supported, which means that it 29may or may not work. It all depends on your luck. It should be possible 30to compile latest LTP even on slightly older distributions than we 31support with a few manual tweaks, e.g. disabling manually tests for 32newly added syscalls, etc. Trivial fixes/workarounds may be accepted, 33but users are encouraged to move to a newer distro. 34 35If latest LTP cannot be compiled even with some amount of workarounds, 36you may result to older LTP releases, however these are _not_ supported 37in any way. Also if you are trying to run LTP on more than 10 years old 38distribution you may as well reconsider you life choices. 39 401.2 Tested architectures 41~~~~~~~~~~~~~~~~~~~~~~~~ 42 43[align="center",options="header"] 44|================================== 45| arch | build 46| x86_64 | native 47| x86 emulation | native 48| aarch64 | cross compilation 49| ppc64le | cross compilation 50| s390x | cross compilation 51|================================== 52 531.3 Minimal supported kernel version 54~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 56Minimal supported kernel version is 3.10. 57 581.4 Supported libc 59~~~~~~~~~~~~~~~~~~ 60 61[align="center",options="header"] 62|================================== 63| Libc | Note 64| https://www.gnu.org/software/libc/[GNU C Library (glibc)] | Targeted libc, tested both compilation and actual test results. 65| https://uclibc-ng.org/[uClibc-ng] | Although not being tested it should work as well as it attempt to maintain a glibc compatible interface. 66| https://www.uclibc.org/[uClibc] | Older https://www.uclibc.org/[uClibc] might have problems. 67| https://musl.libc.org/[musl] | Not yet fully supported (see 68 https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh[CI script] 69 for list of files which need to be deleted in order to compile under musl). 70| binder (Android) | Please use https://android.googlesource.com/platform/external/ltp/[AOSP fork]. 71|================================== 72 731.5 Used C standard 74~~~~~~~~~~~~~~~~~~~ 75 76LTP compiles with '-std=gnu99'. 77