Im letzten Artikel „HAProxy 2.0/2.1 unter SLES 10 (SuSE Linux Enterprise Server 10) kompilieren“ habe ich gezeigt, wie es möglich ist, HAProxy 2.0 und 2.1 unter SLES 10 zu kompilieren. Da der Support für 2.1 bereits ausgelaufen ist und für 2.0 (LTS) in Q2 2024 ausläuft, erscheint es interessant, auch neuere Versionen für einen alten Linux-Stack zu kompilieren.
Es wird wieder der Quelltext, diesmal in Version 2.8 heruntergeladen, entpackt und in das entsprechende Verzeichnis gewechselt:
wget http://www.haproxy.org/download/2.8/src/haproxy-2.8.1.tar.gz
tar -xf haproxy-2.8.1.tar.gz
cd haproxy-2.8.1
Hier wird explizit HTTP ohne SSL/TLS verwendet, da die notwendige TLS-Version, um mit SLES 10 zu funktionieren, ohnehin nicht mehr seitens des haproxy.org angeboten wird.
Im nächsten Schritt wird bereits kompiliert, hierbei setzen wir mindestens 4 zusätzliche Optionen um eine Kompilierung auf SLES 10 zu ermöglichen. Auf die Optionen gehe ich nachfolgend ein.
make TARGET=linux-glibc-legacy USE_ACCEPT4= USE_LINUX_SPLICE= USE_CPU_AFFINITY=
„USE_ACCEPT4=“, „USE_LINUX_SPLICE=“ und „USE_CPU_AFFINITY=“ deaktivieren hierbei die genannten Features, welche SLES 10 aufgrund seiner alten glibc-Version (2.4 in meinem Fall) und aufgrund des sehr alten Kernels (2.6.16) nicht mehr unterstützt.
Nach erfolgter Kompilierung befindet sich im aktuellen Verzeichnis ein Binary „haproxy“, welches mittels
./haproxy -vv
getestet werden kann.
Anschließend kann das Binary frei verwendet werden um mittels „make install“ entweder installiert oder direkt (mit einer entsprechenden Konfigurationsdatei) angesprochen zu werden.