The file sp_counted_base.hpp checks a bunch of macros to determine which architecture-specific include file to use.  One of those checks is:

#elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) )

I'm using VxWorks 6.5.  Their version of gcc defines __ppc but not __ppc__.  This is some of the output from "ccppc -dD -E emptyfile.cpp":
#define __GNUC__ 3
#define _ARCH_PPC 1
#define __ppc 1
#define CPU_FAMILY PPC
#define CPU PPC604
#define __vxworks 1
#define __VXWORKS__ 1

If the sp_counted_base.hpp check was written like this:

#elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc ) )

Then I would see the correct file get included.

Is this a change that should be made to the boost source or do you feel it is a problem with my compiler?

Regards,
-Dan