lovell / sharp-libvips

Packaging scripts to prebuild libvips and its dependencies - you're probably looking for https://github.com/lovell/sharp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

linux-x64: upgrade OS and therefore minimum glibc, removing support for RHEL7

lovell opened this issue · comments

The minimum version of glibc required by the linux-x64 binaries is currently 2.17 (released December 2012), which is set by the use of Centos 7 in the build container.

There have been many improvements to glibc in the ten years since then. Of use to libvips is the addition of __builtin_cpu_is in glibc 2.23, which allows for intrinsic-specific (e.g. AVX) implementations of "hot" functions. Performance gains of ~10% are not uncommon.

A possible OS to use might be Amazon Linux 2 (EOL June 2025) that provides glibc 2.26 (released August 2017).

Also consider upgrading Alpine containers to 3.15, which would make musl 1.2.2 (released January 2021) the minimum supported version.

Building the Linux x64 binaries with Amazon Linux 2 sounds good to me. Looks like we could do similar for the Linux ARM64 binaries, see e.g. commit kleisauke@965ef43.

When Amazon Linux 2 reaches EOL we could consider to build these binaries with Rocky Linux 8 (or any other RHEL 8 derivative) that provides glibc 2.28, which would correspond to Node's >= 18.x minimum glibc requirement (an advantage of this is that it also provides GCC 12 via gcc-toolset-12).

Thanks, have added your commit via ca1eed9