Auf unseren Webservern läuft feedbackd, ein Daemon, der einem Master die aktuelle Load mitteilt, wodurch dieser dann das Loadbalancing, welches mit keepalived und ipvsadm läuft, entsprechend anpasst und den rund 20 Webservern (oder Frontends) verschieden viele Verbindungen zuteilt.

Nun haben wir uns dazu entschieden, lieber ein wenig stärkere Server zu kaufen, statt noch mehr Kleine.
Die neuen Kisten haben nun einen Intel Xeon 4Kern Prozessor und 8 GB RAM. Dies bedeutet: 64Bit Betriebssytem, da ich nicht unbedingt mit PAE rumhantieren will.

Soweit so gut, Installation etc. hat soweit geklappt, nun gehts an kompilieren von feedbackd, das configure Script lief einwandfrei, nur dann kam das make, welches beim ersten Plugin (cpuload.so) stoppte.

/usr/bin/ld: src/plugins/cpuload.o: relocation R_X86_64_32S against `a local symbol’ can not be used when making a shared object; recompile with -fPIC
src/plugins/cpuload.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [src/plugins/cpuload.so] Error 1

Der Versuch, cpuload.so wegzulassen, führte dazu, dass der Prozess beim nächsten Plugin mit der gleichen Meldung abbrach.

Nach langen Recherchen und vielen Versuchen, habe ich in einem Verzweifelten Versuch, die Makefile bearbeitet und die Zeile 37 (CC = gcc) um ein -fPIC erweitert und siehe da, es klappte.

CC = gcc -fPIC

Hinterlasse einen Kommentar.