FreePascal verwendet standardmäßig gar keine libc. Die haben fast alles notwendige selbst implementiert und sprechen direkt mit dem Linux-Kernel via Syscalls. Somit kann man an sich extrem portable Kompilate erstellen. Aufpassen muss man nur, wenn man Units einbindet, die ein vorangestelltes c haben (z.B. cmem). Diese linken gegen die libc. Leider gehört dazu auch cthreads, welche man für Multithreading braucht. Aber der klassische Unix-Weg wäre ja auch eher mit fork und wait statt Threads
Ok, das erklärt mein Problem mit verschiedenen libc Versionen in einem Free Pascal Projekt, das dadurch nicht auf einem älteren Ubuntu als dem meiner Entwicklungsumgebung ausführbar war.
Indy TCP/HTTP Server verwenden Threads. Und vermutlich werden auch viele andere Delphi Servertools wie DataSnap, IntraWeb usw. das tun. Bedeutet: für jede libc-Version neu kompilieren. Viel Spass