In the Win32 project, my uses clause looks like this...
[pascal]
interface

uses
sdl,
SiegeInterfaces,
AdventureLog;
...
implementation

uses
{$IFDEF ver120}
FileCtrl,
{$ENDIF}
Classes,
SysUtils,
logger,
globals,
GameMainMenu;
[/pascal]

and the procedure that causes the error looks like this...

[pascal]
procedure TGameJournal.MouseMove( Shift : TSDLMod; CurrentPos, RelativePos : TPoint );
const
FailName : string = 'TGameJournal.MouseMove';
begin
inherited;
end;
[/pascal]

and when compiled it gives the following error...
GameJournal.pas(247,24) Error: function header doesn't match any method of this
class "TGameJournal.MouseMove(LongWord, POINT, POINT)"
GameJournal.pas(251,12) Error: Incompatible type for arg no. 3: Got "POINT", exp
ected "TPoint"
What's seems to be happening is that the implemenation code is using the Classes definition of TPoint, while the interface declaration is using the sdl definition of TPoint. This never happened in 1.9.8. if I comment out the Classes unit ( which I need for TStringList ), everything compiles, but I get an immediate AV when I try to run the exe.

Any suggestions?

On the Linux side of things, I will double check to see if I have a libSDL.so around.