Kompilacja Killera

Witajcie.
Chciałem postawić sobie serwer Killera na swoim vps’ie, jednak nie mogę skompilować kodu.
Jest jakiś problem ze zdeklarowanymi w merc.h funkcjami UMAX, UMIN i URANGE. Zadeklarowane są w db.c a podczas próby linkowania plików .o czy jak się nazywał ten proces wywala, że undefined reference to UMAX undefined reference to UMIN i undefined reference to URANGE
Jakieś pomysły?

pokaż komendy, które skrypt wykonuje przy kompilacji i linkowaniu

Jak tu wstawić kawałek Makefile, żeby było czytelne?
na razie wrzucę tak, jak nie będzie się dało przeczytać, to coś poprawię.
CCACHE := $(shell which ccache 2>/dev/null)
CC = $(CCACHE) gcc
COMMON = -ggdb -lz

ifdef INSANE_OPT
COMMON += -Wall -Wp,-D_FORTIFY_SOURCE=2 -mtune=native -march=native -O2 -Wextra
endif

C_FLAGS = $(COMMON) -DHASHSTR -DMCCP
L_FLAGS = $(COMMON) -lpcre -pthread
CYG_C_FLAGS = $(COMMON) -DHASHSTR -DCYGWIN
CYG_L_FLAGS = $(COMMON) /bin/pcre.dll
CYG = cyg/
OBJ = obj/
OCAML = ocm/

wersja OFFLINE:

ifdef OFFLINE
C_FLAGS += -DOFFLINE
CYG_C_FLAGS += -DOFFLINE
endif

O_FILES := $(addprefix $(OBJ),$(patsubst %.c,%.o,$(wildcard *.c)))
CYG_O_FILES := $(addprefix $(CYG),$(patsubst %.c,%.o,$(wildcard *.c)))

rom: $(EXTRA_TARGETS) $(O_FILES)
rm -f rom
$(CC) $(L_FLAGS) -o rom $(O_FILES) $(L_FILES) $(STATIC_LIBS)

rom-tc: $(EXTRA_TARGETS) $(O_FILES)
rm -f rom-tc
$(LINK_HASKELL)
$(CC) $(L_FLAGS) -ltcmalloc -lprofiler -o rom-tc $(O_FILES) $(L_FILES)

cygwin: $(CYG_O_FILES)
rm -f rom
$(CC) $(CYG_L_FLAGS) -o rom $(CYG_O_FILES)

ocaml:
ocamlopt str.cmxa spell_syn.ml -o $(OCAML)syn.exe
cp $(OCAML)* …/area/
rm -f *.cmx *.cmi *.o

$(OBJ)%.o: %.c
$(CC) -c $(C_FLAGS) $< -o $@

$(CYG)%.o: %.c
$(CC) -c $(CYG_C_FLAGS) $< -o $@

clean:
rm -f .o $(OBJ).o $(CYG)*.o rom rom.exe *.cmx *.cmi

cclean: clean
$(CCACHE) -c

.PHONY: clean rom
.DEFAULT_GOAL := rom

Dodaj do C_FLAGS parametr -std=gnu89
Jeśli pracujesz na Linuxie, zedytuj comm.c i zakomentuj linijki 112-116.

~ mkdir obj
~ make clean
~ make

Jak to mówią, u mnie działa. Teraz męczę się z runtime errors.

EDIT: po kilku zmianach w kodzie oraz plikach konfiguracyjnych, doprowadziłem serwer do porządku. Działa w trybie ONLINE. Właśnie testujemy ze znajomymi i wygląda na to, że wszystko jest ok. Jeśli ktoś ma problemy z uruchomieniem własnej wersji, pisać na priv - pomogę. Większość błędów wymagających naprawy była związana z moim środowiskiem (missing shared libraries, encoding, wrong preprocessor directives etc.), więc opisywanie tutaj co konkretnie zrobiłem, żeby to uruchomić, nie ma większego sensu.

Wiem, że to necrobumping, ale nie mogę zedytować tak starej odpowiedzi. Dodaję link do mojej wirtualnej maszyny, w której wszystko odpala się automatycznie, kod jest poprawiony i skompilowany. Wystarczy zaimportować do VMware, odpalić i cieszyć się działającym serwerem. https://drive.google.com/file/d/1le5Fzfa9MEB62kBU7ke6ThyurvYNlP4Y/view?usp=sharing