Hello!
My tuppence worth on one comment here:
>1. Always use gcc. Always use gcc. Always use gcc.
Why? Because it's the lowest common denominator.
Because the developers are building/testing with it.
Because ./configure likes it. Always use gcc.
Only do this if your absolutely guaranteed that any libraries that you
link with have not been compiled with Sun's native C++ compiler ;-)
There is serious grief in store trying to resolve name-mangled symbols
between gcc and a C++ library (even with extern "C" used).
I learned this the hardway :(
Apart from that - excellent job on debugging!
-Thom