gcc linker is weird about library order.

These guys don't know what a transitive closure is ;(