I have made some progress.

It seems that the linker is very case sensitive, it doesn not rely on the NewtonDLL declaration but it seems to use the name of the unit (in this case newton) to locate the libraries, since the sdk ships with libNewton.a rather than libnewton.a this causes a problem, so we either need to rename the lib (which i did) or rename the unit to Newton.pas to get this to work.

That said I now get the following errors on linking.

Code:
Linking SDLNewtonBasicDemo
/usr/lib/libnewton.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info`
/usr/lib/libnewton.so: undefined reference to `operator delete(void*)`
/usr/lib/libnewton.so: undefined reference to `__gxx_personality_v0`
/usr/lib/libnewton.so: undefined reference to `__cxa_pure_virtual`
/usr/lib/libnewton.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info`
/usr/lib/libnewton.so: undefined reference to `__cxa_guard_release`
/usr/lib/libnewton.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info`
/usr/lib/libnewton.so: undefined reference to `__cxa_guard_abort`
/usr/lib/libnewton.so: undefined reference to `operator new(unsigned int)`
/usr/lib/libnewton.so: undefined reference to `_cxa_guard_acquire
now I am a bit stumped on this one it appears to be missing something but I have no idea what. Any ideas anyone?

Dean