These warnings:
/usr/bin/ld: warning: type and size of dynamic symbol `__objc_class_name_NSConstantString' are not defined
are a common occurence and are due to a mismatch between gcc and ld. They don’t do any harm so they can be safely ignored. They have been fixed in GCC version 3.1.