This addresses issue #5130 (closed) in the following ways:
- Improve the glibc import checking code by using a regex to match all imports, and then for each import extract the version and use CMake's version comparison functionality to match the version. This allows us to write the desired glibc version as a string such as "2.4", instead of having to write a regular expression that matches everything greater than 2.4 or in general the desired version.
- Introduce a
BUILD_PACKAGE
option that isON
by default, but can be turned off when invokingcmake
as follows:cmake -DBUILD_PACKAGE=OFF ..
. This is important for rolling release distributions where glibc 2.32 is currently stable and these checks prevent drrun from building. - Bump the glibc version to 2.17. After checking multiple distributions with long support times (typically Debian and CentOS, and Ubuntu LTS being a close one), I found that the oldest versions that are still supported as of writing are Debian Stretch, CentOS 7, RHEL 7, and Ubuntu 16.04 LTS (Xenial). These ship glibc 2.24, glibc 2.17 glibc 2.17 and glibc 2.23 respectively. According to the release page of glibc the release date of glibc 2.17 is 2012-12-25.
In addition, I am keeping around the glibc version separation between AArch64 and non-AArch64, just in case they diverge again.