I think the problem relates to the use of {$IFDEF xxx}, the error is
forward declaration is not solved.
In package
tponguard.lpk (not sure about other packages e.g. tponguard_design etc.) unit
ogutil at line 236 (in the
interface section) refers to (not)WINDOWS i.e. DARWIN will find this..
{$IFNDEF WINDOWS}
function GetDiskSerialNumber(Drive : AnsiChar) : LongInt;
function MyHashElf(const Buf; BufSize : LongInt) : LongInt;
{$ENDIF}
at line 396 (implementation) refers to LINUX (so missing from DARWIN)
{$IFDEF LINUX}
function GetDiskSerialNumber(Drive : AnsiChar) : LongInt;
I tried a few
hacks to see if it would compile using {$IFDEF DARWIN} on my MacOS machine and IIRC it managed to compile, but then reverted the code back (IIRC I then had problems compiling in LINUX which considering this was a hack, was no surprise).
I think I changed 3 {$IFDEF} statements to get it to compile under DARWIN.
Probably worth a shot fixing it (I didn't know enough about the code), I'm happy to test (LINUX, WINDOWS,DARWIN).