Solved ! It seems arm-linux-gnueabihf-gcc behaves differently to gcc. It seems to need belts and braces ! I found I had to use "ldconfig" to add the path "/opt/vc/lib", something I should have done anyway. I also had to add the path to rpath-link and add the other library names. This is my new build...